クラス 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
ネストされたクラスの要約
クラス AnnotatedMethod から継承されたネストクラス / インターフェース
AnnotatedMethod.AnnotatedMethodParameterフィールドのサマリー
クラス HandlerMethod から継承されたフィールド
loggerコンストラクターの概要
コンストラクター修飾子コンストラクター説明InvocableHandlerMethod(ObjectSE bean, MethodSE method) Bean インスタンスとメソッドからインスタンスを作成します。protectedInvocableHandlerMethod(ObjectSE bean, MethodSE method, @Nullable MessageSource messageSource) サブクラスで使用するためのMessageSourceも受け入れるInvocableHandlerMethod(Object, Method)のバリアント。InvocableHandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) 指定された Bean インスタンス、メソッド名、パラメーターを使用して、新しいハンドラーメソッドを構築します。InvocableHandlerMethod(HandlerMethod handlerMethod) HandlerMethodからインスタンスを作成します。メソッドのサマリー
修飾子と型メソッド説明指定された引数値でハンドラーメソッドを呼び出します。getMethodArgumentValues(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, @Nullable ObjectSE... providedArgs) 現在のリクエストのメソッド引数値を取得し、提供された引数値を確認して、構成された引数リゾルバーにフォールバックします。invokeForRequest(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, @Nullable ObjectSE... providedArgs) 指定されたリクエストのコンテキストで引数の値を解決した後、メソッドを呼び出します。protected ObjectSEinvokeSuspendingFunction(MethodSE method, ObjectSE target, @Nullable ObjectSE[] args) 指定された Kotlin コルーチン中断関数を呼び出します。voidsetDataBinderFactory(WebDataBinderFactory dataBinderFactory) 引数リゾルバーに渡すWebDataBinderFactoryを設定して、データバインディングおよび型変換の目的でWebDataBinderを作成できるようにします。voidsetHandlerMethodArgumentResolvers(HandlerMethodArgumentResolverComposite argumentResolvers) メソッド引数値の解決に使用するようにHandlerMethodArgumentResolversを設定します。voidsetMethodValidator(@Nullable MethodValidator methodValidator) コントローラーメソッドHandlerMethod.shouldValidateArguments()またはHandlerMethod.shouldValidateReturnValue()の場合にメソッド検証を実行するようにMethodValidatorを設定します。voidsetParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer) 必要に応じてパラメーター名を解決するために ParameterNameDiscoverer を設定します (たとえば、デフォルトのリクエスト属性名)。クラス HandlerMethod から継承されたメソッド
assertTargetBean, createWithResolvedBean, createWithValidateFlags, equals, formatInvokeError, getBean, getBeanType, getContainingClass, getResolvedFromHandlerMethod, getResponseStatus, getResponseStatusReason, getShortLogMessage, hashCode, shouldValidateArguments, shouldValidateReturnValue, toString
コンストラクターの詳細
InvocableHandlerMethod
HandlerMethodからインスタンスを作成します。InvocableHandlerMethod
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
public @Nullable ObjectSE invokeForRequest(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, @Nullable ObjectSE... providedArgs) throws ExceptionSE 指定されたリクエストのコンテキストで引数の値を解決した後、メソッドを呼び出します。引数値は通常、
HandlerMethodArgumentResolversによって解決されます。ただし、providedArgsパラメーターは、直接、つまり引数解決なしで使用される引数値を提供する場合があります。提供される引数値の例には、WebDataBinder、SessionStatus、スローされた例外インスタンスが含まれます。提供された引数値は、引数リゾルバーの前にチェックされます。getMethodArgumentValues(NativeWebRequest, ModelAndViewContainer, Object...)にデリゲートし、解決された引数を使用してdoInvoke(Object...)を呼び出します。- パラメーター:
request- 現在のリクエストmavContainer- このリクエストの ModelAndViewContainerprovidedArgs- 型によって一致する「指定された」引数、解決されない- 戻り値:
- 呼び出されたメソッドによって返される生の値
- 例外:
ExceptionSE- 適切な引数リゾルバーが見つからない場合、またはメソッドで例外が発生した場合に発生します- 関連事項:
getMethodArgumentValues
protected @Nullable ObjectSE[] getMethodArgumentValues(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, @Nullable ObjectSE... providedArgs) throws ExceptionSE 現在のリクエストのメソッド引数値を取得し、提供された引数値を確認して、構成された引数リゾルバーにフォールバックします。結果の配列は
doInvoke(Object...)に渡されます。- 例外:
ExceptionSE- 導入:
- 5.1.2
doInvoke
指定された引数値でハンドラーメソッドを呼び出します。- 例外:
ExceptionSE
invokeSuspendingFunction
protected ObjectSE invokeSuspendingFunction(MethodSE method, ObjectSE target, @Nullable ObjectSE[] args) 指定された Kotlin コルーチン中断関数を呼び出します。デフォルトの実装は
CoroutinesUtils.invokeSuspendingFunction(Method, Object, Object...)を呼び出しますが、サブクラスはこのメソッドをオーバーライドして代わりにCoroutinesUtils.invokeSuspendingFunction(kotlin.coroutines.CoroutineContext, Method, Object, Object...)を使用できます。- 導入:
- 6.0