クラス HandlerMethod
java.lang.ObjectSE
org.springframework.core.annotation.AnnotatedMethod
org.springframework.web.method.HandlerMethod
メソッドと Bean で構成されるハンドラーメソッドに関する情報をカプセル化します。メソッドのパラメーター、メソッドの戻り値、メソッドのアノテーションなどへの便利なアクセスを提供します。
クラスは、Bean インスタンスまたは Bean 名 (たとえば、lazy-init Bean、prototype Bean) を使用して作成できます。createWithResolvedBean() を使用して、関連付けられた BeanFactory を通じて解決された Bean インスタンスを持つ HandlerMethod インスタンスを取得します。
- 導入:
- 3.1
- 作成者:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller, Sam Brannen
ネストされたクラスの要約
クラス org.springframework.core.annotation.AnnotatedMethod から継承されたネストクラス / インターフェース
AnnotatedMethod.AnnotatedMethodParameterフィールドのサマリー
フィールドコンストラクターの概要
コンストラクター修飾子コンストラクター説明HandlerMethod(ObjectSE bean, MethodSE method) Bean インスタンスとメソッドからインスタンスを作成します。protectedHandlerMethod(ObjectSE bean, MethodSE method, MessageSource messageSource) サブクラスから使用するためにMessageSourceも受け入れるHandlerMethod(Object, Method)のバリアント。HandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) Bean インスタンス、メソッド名、パラメーター型からインスタンスを作成します。HandlerMethod(StringSE beanName, BeanFactory beanFactory, MethodSE method) Bean 名、メソッド、BeanFactoryからインスタンスを作成します。HandlerMethod(StringSE beanName, BeanFactory beanFactory, MessageSource messageSource, MethodSE method) MessageSourceも受け入れるHandlerMethod(String, BeanFactory, Method)のバリアント。protectedHandlerMethod(HandlerMethod handlerMethod) サブクラスで使用するコンストラクターをコピーします。protectedHandlerMethod(HandlerMethod handlerMethod, ObjectSE handler, boolean initValidateFlags) 指定された HandlerMethod をコピーしてハンドラーを置き換え、オプションで検証アノテーションの存在をチェックする新しい HandlerMethod インスタンスを再作成します。メソッドのサマリー
修飾子と型メソッド説明protected voidassertTargetBean(MethodSE method, ObjectSE targetBean, ObjectSE[] args) ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。handlerが実際のハンドラーインスタンスではなく Bean 名である場合は、Spring 構成を通じて Bean 名を解決します (例:HandlerMethod を再作成し、shouldValidateArguments()およびshouldValidateReturnValue()を初期化します。booleanprotected StringSEformatInvokeError(StringSE text, ObjectSE[] args) getBean()このハンドラーメソッドの Bean を返します。ClassSE<?>このメソッドは、このハンドラーメソッドのハンドラーの型を返します。protected ClassSE<?>メソッドのパラメーターを含むクラスを公開します。この HandlerMethod インスタンスがcreateWithResolvedBean()を介して解決された HandlerMethod を返します。protected HttpStatusCode指定されたレスポンスステータスがあれば返します。protected StringSE関連するレスポンスステータスの理由があれば返します。ログメッセージのために、このハンドラーメソッドの短い表現を返します。inthashCode()booleanメソッド引数がメソッド検証の候補であるかどうか。これは、パラメーターjakarta.validation.Constraintアノテーションがある場合に当てはまります。booleanメソッドの戻り値がメソッド検証の候補であるかどうか。これは、メソッドjakarta.validation.Constraintまたはjakarta.validation.Validアノテーションがある場合に当てはまります。toString()クラス org.springframework.core.annotation.AnnotatedMethod から継承されたメソッド
findProvidedArgument, formatArgumentError, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getReturnType, getReturnValueType, hasMethodAnnotation, isVoid
フィールドの詳細
logger
サブクラスで利用可能なロガー。
コンストラクターの詳細
HandlerMethod
Bean インスタンスとメソッドからインスタンスを作成します。HandlerMethod
サブクラスから使用するためにMessageSourceも受け入れるHandlerMethod(Object, Method)のバリアント。- 導入:
- 5.3.10
HandlerMethod
public HandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) throws NoSuchMethodExceptionSE Bean インスタンス、メソッド名、パラメーター型からインスタンスを作成します。- 例外:
NoSuchMethodExceptionSE- メソッドが見つからない場合
HandlerMethod
Bean 名、メソッド、BeanFactoryからインスタンスを作成します。メソッドcreateWithResolvedBean()は、初期化された Bean でHandlerMethodを再作成するために後で使用できます。HandlerMethod
public HandlerMethod(StringSE beanName, BeanFactory beanFactory, @Nullable MessageSource messageSource, MethodSE method) MessageSourceも受け入れるHandlerMethod(String, BeanFactory, Method)のバリアント。HandlerMethod
サブクラスで使用するコンストラクターをコピーします。HandlerMethod
protected HandlerMethod(HandlerMethod handlerMethod, @Nullable ObjectSE handler, boolean initValidateFlags) 指定された HandlerMethod をコピーしてハンドラーを置き換え、オプションで検証アノテーションの存在をチェックする新しい HandlerMethod インスタンスを再作成します。サブクラスはこれをオーバーライドして、再作成された場合に HandlerMethod が同じ型になることを保証できます。
- 導入:
- 6.2.3
メソッドの詳細
getBean
このハンドラーメソッドの Bean を返します。getBeanType
このメソッドは、このハンドラーメソッドのハンドラーの型を返します。Bean 型が CGLIB で生成されたクラスである場合、元のユーザー定義のクラスが返されることに注意してください。
getContainingClass
クラスからコピーされた説明:AnnotatedMethodメソッドのパラメーターを含むクラスを公開します。- オーバーライド:
- クラス
AnnotatedMethodのgetContainingClass - 関連事項:
shouldValidateArguments
public boolean shouldValidateArguments()メソッド引数がメソッド検証の候補であるかどうか。これは、パラメーターjakarta.validation.Constraintアノテーションがある場合に当てはまります。このようなパラメーターは引数リゾルバーのレベルですでに検証されているため、
jakarta.validation.Validの存在自体はメソッドの検証をトリガーしません。注意 : クラスに
Validatedのアノテーションが付けられている場合、このメソッドは false を返し、AOP プロキシによるメソッドの検証を延期します。- 導入:
- 6.1
shouldValidateReturnValue
public boolean shouldValidateReturnValue()メソッドの戻り値がメソッド検証の候補であるかどうか。これは、メソッドjakarta.validation.Constraintまたはjakarta.validation.Validアノテーションがある場合に当てはまります。注意 : クラスに
Validatedのアノテーションが付けられている場合、このメソッドは false を返し、AOP プロキシによるメソッドの検証を延期します。- 導入:
- 6.1
getResponseStatus
指定されたレスポンスステータスがあれば返します。- 導入:
- 4.3.8
- 関連事項:
getResponseStatusReason
関連するレスポンスステータスの理由があれば返します。- 導入:
- 4.3.8
- 関連事項:
getResolvedFromHandlerMethod
この HandlerMethod インスタンスがcreateWithResolvedBean()を介して解決された HandlerMethod を返します。createWithValidateFlags
HandlerMethod を再作成し、shouldValidateArguments()およびshouldValidateReturnValue()を初期化します。- 導入:
- 6.1.3
createWithResolvedBean
handlerが実際のハンドラーインスタンスではなく Bean 名である場合は、Spring 構成 (プロトタイプ Bean など) を通じて Bean 名を解決し、解決されたハンドラーを含む新しいHandlerMethodインスタンスを返します。handlerが文字列でない場合は、同じインスタンスを返します。getShortLogMessage
ログメッセージのために、このハンドラーメソッドの短い表現を返します。- 導入:
- 4.3
equals
- オーバーライド:
- クラス
AnnotatedMethodのequals
hashCode
public int hashCode()- オーバーライド:
- クラス
AnnotatedMethodのhashCode
toString
- オーバーライド:
- クラス
AnnotatedMethodのtoString
assertTargetBean
ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。場合によっては、リクエスト処理時の実際のコントローラーインスタンスは JDK 動的プロキシ(遅延初期化、プロトタイプ Bean など)である場合があります。プロキシを必要とする@Controllerは、クラスベースのプロキシメカニズムを優先する必要があります。formatInvokeError