クラス InvocableHandlerMethod
java.lang.ObjectSE
org.springframework.core.annotation.AnnotatedMethod
org.springframework.web.method.HandlerMethod
org.springframework.web.method.support.InvocableHandlerMethod
- 既知の直属サブクラス
ServletInvocableHandlerMethod
HandlerMethodArgumentResolver
のリストを介して現在の HTTP リクエストから解決された引数値を使用して、基になるメソッドを呼び出す HandlerMethod
の拡張。- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
ネストされたクラスのサマリー
クラス org.springframework.core.annotation.AnnotatedMethod から継承されたネストクラス / インターフェース
AnnotatedMethod.AnnotatedMethodParameter
フィールドサマリー
クラス org.springframework.web.method.HandlerMethod から継承されたフィールド
logger
コンストラクターのサマリー
修飾子コンストラクター説明InvocableHandlerMethod
(ObjectSE bean, MethodSE method) Bean インスタンスとメソッドからインスタンスを作成します。protected
InvocableHandlerMethod
(ObjectSE bean, MethodSE method, MessageSource messageSource) サブクラスで使用するためのMessageSource
も受け入れるInvocableHandlerMethod(Object, Method)
のバリアント。InvocableHandlerMethod
(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) 指定された Bean インスタンス、メソッド名、パラメーターを使用して、新しいハンドラーメソッドを構築します。InvocableHandlerMethod
(HandlerMethod handlerMethod) HandlerMethod
からインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
指定された引数値でハンドラーメソッドを呼び出します。protected ObjectSE[]
getMethodArgumentValues
(NativeWebRequest request, ModelAndViewContainer mavContainer, ObjectSE... providedArgs) 現在のリクエストのメソッド引数値を取得し、提供された引数値を確認して、構成された引数リゾルバーにフォールバックします。invokeForRequest
(NativeWebRequest request, ModelAndViewContainer mavContainer, ObjectSE... providedArgs) 指定されたリクエストのコンテキストで引数の値を解決した後、メソッドを呼び出します。protected ObjectSE
invokeSuspendingFunction
(MethodSE method, ObjectSE target, ObjectSE[] args) 指定された Kotlin コルーチン中断関数を呼び出します。void
setDataBinderFactory
(WebDataBinderFactory dataBinderFactory) 引数リゾルバーに渡すWebDataBinderFactory
を設定して、データバインディングおよび型変換の目的でWebDataBinder
を作成できるようにします。void
setHandlerMethodArgumentResolvers
(HandlerMethodArgumentResolverComposite argumentResolvers) メソッド引数値の解決に使用するようにHandlerMethodArgumentResolvers
を設定します。void
setMethodValidator
(MethodValidator methodValidator) コントローラーメソッドHandlerMethod.shouldValidateArguments()
またはHandlerMethod.shouldValidateReturnValue()
の場合にメソッド検証を実行するようにMethodValidator
を設定します。void
setParameterNameDiscoverer
(ParameterNameDiscoverer parameterNameDiscoverer) 必要に応じてパラメーター名を解決するための ParameterNameDiscoverer を設定します(例:クラス org.springframework.web.method.HandlerMethod から継承されたメソッド
assertTargetBean, createWithResolvedBean, createWithValidateFlags, equals, formatInvokeError, getBean, getBeanType, getContainingClass, getResolvedFromHandlerMethod, getResponseStatus, getResponseStatusReason, getShortLogMessage, hashCode, shouldValidateArguments, shouldValidateReturnValue, toString
クラス org.springframework.core.annotation.AnnotatedMethod から継承されたメソッド
findProvidedArgument, formatArgumentError, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getReturnType, getReturnValueType, hasMethodAnnotation, isVoid
コンストラクターの詳細
InvocableHandlerMethod
HandlerMethod
からインスタンスを作成します。InvocableHandlerMethod
Bean インスタンスとメソッドからインスタンスを作成します。InvocableHandlerMethod
protected InvocableHandlerMethod(ObjectSE bean, MethodSE method, @Nullable MessageSource messageSource) サブクラスで使用するためのMessageSource
も受け入れるInvocableHandlerMethod(Object, Method)
のバリアント。- 導入:
- 5.3.10
InvocableHandlerMethod
public InvocableHandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) throws NoSuchMethodExceptionSE 指定された Bean インスタンス、メソッド名、パラメーターを使用して、新しいハンドラーメソッドを構築します。- パラメーター:
bean
- オブジェクト BeanmethodName
- メソッド名parameterTypes
- メソッドパラメーター型- 例外:
NoSuchMethodExceptionSE
- メソッドが見つからない場合
メソッドの詳細
setHandlerMethodArgumentResolvers
public void setHandlerMethodArgumentResolvers(HandlerMethodArgumentResolverComposite argumentResolvers) メソッド引数値の解決に使用するようにHandlerMethodArgumentResolvers
を設定します。setParameterNameDiscoverer
必要に応じてパラメーター名を解決するための ParameterNameDiscoverer を設定します(例: デフォルトのリクエスト属性名)。デフォルトは
DefaultParameterNameDiscoverer
です。setDataBinderFactory
引数リゾルバーに渡すWebDataBinderFactory
を設定して、データバインディングおよび型変換の目的でWebDataBinder
を作成できるようにします。setMethodValidator
コントローラーメソッドHandlerMethod.shouldValidateArguments()
またはHandlerMethod.shouldValidateReturnValue()
の場合にメソッド検証を実行するようにMethodValidator
を設定します。- 導入:
- 6.1
invokeForRequest
@Nullable public ObjectSE invokeForRequest(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, ObjectSE... providedArgs) throws ExceptionSE 指定されたリクエストのコンテキストで引数の値を解決した後、メソッドを呼び出します。引数値は通常、
HandlerMethodArgumentResolvers
によって解決されます。ただし、providedArgs
パラメーターは、直接、つまり引数解決なしで使用される引数値を提供する場合があります。提供される引数値の例には、WebDataBinder
、SessionStatus
、スローされた例外インスタンスが含まれます。提供された引数値は、引数リゾルバーの前にチェックされます。getMethodArgumentValues(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.method.support.ModelAndViewContainer, java.lang.Object...)
にデリゲートし、解決された引数を使用してdoInvoke(java.lang.Object...)
を呼び出します。- パラメーター:
request
- 現在のリクエストmavContainer
- このリクエストの ModelAndViewContainerprovidedArgs
- 型によって一致する「指定された」引数、解決されない- 戻り値:
- 呼び出されたメソッドによって返される生の値
- 例外:
ExceptionSE
- 適切な引数リゾルバーが見つからない場合、またはメソッドで例外が発生した場合に発生します- 関連事項:
getMethodArgumentValues
protected ObjectSE[] getMethodArgumentValues(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, ObjectSE... providedArgs) throws ExceptionSE 現在のリクエストのメソッド引数値を取得し、提供された引数値を確認して、構成された引数リゾルバーにフォールバックします。結果の配列は
doInvoke(java.lang.Object...)
に渡されます。- 例外:
ExceptionSE
- 導入:
- 5.1.2
doInvoke
指定された引数値でハンドラーメソッドを呼び出します。- 例外:
ExceptionSE
invokeSuspendingFunction
指定された Kotlin コルーチン中断関数を呼び出します。デフォルトの実装は
CoroutinesUtils.invokeSuspendingFunction(Method, Object, Object...)
を呼び出しますが、サブクラスはこのメソッドをオーバーライドして代わりにCoroutinesUtils.invokeSuspendingFunction(kotlin.coroutines.CoroutineContext, Method, Object, Object...)
を使用できます。- 導入:
- 6.0