public class InvocableHandlerMethod extends HandlerMethod
HandlerMethodArgumentResolver のリストを介して現在の HTTP リクエストから解決された引数値を使用して、基になるメソッドを呼び出す HandlerMethod の拡張。HandlerMethod.HandlerMethodParameterlogger| コンストラクターと説明 |
|---|
InvocableHandlerMethod(HandlerMethod handlerMethod)HandlerMethod からインスタンスを作成します。 |
InvocableHandlerMethod(java.lang.Object bean, java.lang.reflect.Method method)Bean インスタンスとメソッドからインスタンスを作成します。 |
InvocableHandlerMethod(java.lang.Object bean, java.lang.String methodName, java.lang.Class<?>... parameterTypes) 指定された Bean インスタンス、メソッド名、パラメーターを使用して、新しいハンドラーメソッドを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected java.lang.Object | doInvoke(java.lang.Object... args) 指定された引数値でハンドラーメソッドを呼び出します。 |
protected java.lang.Object[] | getMethodArgumentValues(NativeWebRequest request, ModelAndViewContainer mavContainer, java.lang.Object... providedArgs) 現在のリクエストのメソッド引数値を取得し、提供された引数値を確認して、構成された引数リゾルバーにフォールバックします。 |
java.lang.Object | invokeForRequest(NativeWebRequest request, ModelAndViewContainer mavContainer, java.lang.Object... providedArgs) 指定されたリクエストのコンテキストで引数の値を解決した後、メソッドを呼び出します。 |
void | setDataBinderFactory(WebDataBinderFactory dataBinderFactory) 引数リゾルバーに渡す WebDataBinderFactory を設定して、データバインディングおよび型変換の目的で WebDataBinder を作成できるようにします。 |
void | setHandlerMethodArgumentResolvers(HandlerMethodArgumentResolverComposite argumentResolvers) メソッドの引数値の解決に使用する HandlerMethodArgumentResolvers を設定します。 |
void | setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer) 必要に応じてパラメーター名を解決するための ParameterNameDiscoverer を設定します(例: |
assertTargetBean, createWithResolvedBean, equals, findProvidedArgument, formatArgumentError, formatInvokeError, getBean, getBeanType, getBridgedMethod, getMethod, getMethodAnnotation, getMethodParameters, getResolvedFromHandlerMethod, getResponseStatus, getResponseStatusReason, getReturnType, getReturnValueType, getShortLogMessage, hashCode, hasMethodAnnotation, isVoid, toStringpublic InvocableHandlerMethod(HandlerMethod handlerMethod)
HandlerMethod からインスタンスを作成します。public InvocableHandlerMethod(java.lang.Object bean,
java.lang.reflect.Method method)public InvocableHandlerMethod(java.lang.Object bean,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes)
throws java.lang.NoSuchMethodExceptionbean - オブジェクト BeanmethodName - メソッド名 parameterTypes - メソッドパラメーター型 java.lang.NoSuchMethodException - メソッドが見つからない場合 public void setDataBinderFactory(WebDataBinderFactory dataBinderFactory)
WebDataBinderFactory を設定して、データバインディングおよび型変換の目的で WebDataBinder を作成できるようにします。dataBinderFactory - データバインダーファクトリ。public void setHandlerMethodArgumentResolvers(HandlerMethodArgumentResolverComposite argumentResolvers)
HandlerMethodArgumentResolvers を設定します。public void setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer)
デフォルトは DefaultParameterNameDiscoverer です。
@Nullable public java.lang.Object invokeForRequest(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, java.lang.Object... providedArgs) throws java.lang.Exception
引数値は通常、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 - 型によって一致する「指定された」引数、解決されない java.lang.Exception - 適切な引数リゾルバーが見つからない場合、またはメソッドで例外が発生した場合に発生します getMethodArgumentValues(org.springframework.web.context.request.NativeWebRequest, org.springframework.web.method.support.ModelAndViewContainer, java.lang.Object...), doInvoke(java.lang.Object...)protected java.lang.Object[] getMethodArgumentValues(NativeWebRequest request, @Nullable ModelAndViewContainer mavContainer, java.lang.Object... providedArgs) throws java.lang.Exception
結果の配列は doInvoke(java.lang.Object...) に渡されます。
java.lang.Exception@Nullable protected java.lang.Object doInvoke(java.lang.Object... args) throws java.lang.Exception
java.lang.Exception