クラス 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 インスタンスとメソッドからインスタンスを作成します。protected
HandlerMethod
(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)
のバリアント。protected
HandlerMethod
(HandlerMethod handlerMethod) サブクラスで使用するコンストラクターをコピーします。方法の概要
修飾子と型メソッド説明protected void
assertTargetBean
(MethodSE method, ObjectSE targetBean, ObjectSE[] args) ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、HandlerMethod
が作成されて返される前に、Bean 名が解決されます。HandlerMethod を再作成し、shouldValidateArguments()
およびshouldValidateReturnValue()
を初期化します。boolean
protected StringSE
formatInvokeError
(StringSE text, ObjectSE[] args) getBean()
このハンドラーメソッドの Bean を返します。ClassSE<?>
このメソッドは、このハンドラーメソッドのハンドラーの型を返します。protected ClassSE<?>
メソッドのパラメーターを含むクラスを公開します。この HandlerMethod インスタンスがcreateWithResolvedBean()
を介して解決された HandlerMethod を返します。protected HttpStatusCode
指定されたレスポンスステータスがあれば返します。protected StringSE
関連するレスポンスステータスの理由があれば返します。ログメッセージのために、このハンドラーメソッドの短い表現を返します。int
hashCode()
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
サブクラスで使用するコンストラクターをコピーします。
メソッドの詳細
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
提供されたインスタンスにオブジェクトインスタンスではなく Bean 名が含まれる場合、HandlerMethod
が作成されて返される前に、Bean 名が解決されます。getShortLogMessage
ログメッセージのために、このハンドラーメソッドの短い表現を返します。- 導入:
- 4.3
equals
- オーバーライド:
- クラス
AnnotatedMethod
のequals
hashCode
public int hashCode()- オーバーライド:
- クラス
AnnotatedMethod
のhashCode
toString
- オーバーライド:
- クラス
AnnotatedMethod
のtoString
assertTargetBean
ターゲット Bean クラスが、指定されたメソッドが宣言されているクラスのインスタンスであることをアサートします。場合によっては、リクエスト処理時の実際のコントローラーインスタンスは JDK 動的プロキシ(遅延初期化、プロトタイプ Bean など)である場合があります。プロキシを必要とする@Controller
は、クラスベースのプロキシメカニズムを優先する必要があります。formatInvokeError