public class InvocableHandlerMethod extends HandlerMethod
HandlerMethodArgumentResolver
のリストを介して現在の HTTP リクエストから解決された引数値を使用して、基になるメソッドを呼び出す HandlerMethod
の拡張。HandlerMethod.HandlerMethodParameter
defaultLogger, logger
コンストラクターと説明 |
---|
InvocableHandlerMethod(HandlerMethod handlerMethod) HandlerMethod からインスタンスを作成します。 |
InvocableHandlerMethod(ObjectSE bean, MethodSE method) Bean インスタンスとメソッドからインスタンスを作成します。 |
InvocableHandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) 指定された Bean インスタンス、メソッド名、パラメーターを使用して、新しいハンドラーメソッドを構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected ObjectSE | doInvoke(ObjectSE... args) 指定された引数値でハンドラーメソッドを呼び出します。 |
protected ObjectSE[] | getMethodArgumentValues(Message<?> message, ObjectSE... providedArgs) 現在のメッセージのメソッド引数値を取得し、提供された引数値を確認して、構成された引数リゾルバーにフォールバックします。 |
ObjectSE | invoke(Message<?> message, ObjectSE... providedArgs) 指定されたメッセージのコンテキストで引数値を解決した後、メソッドを呼び出します。 |
void | setMessageMethodArgumentResolvers(HandlerMethodArgumentResolverComposite argumentResolvers) メソッドの引数値の解決に使用する HandlerMethodArgumentResolvers を設定します。 |
void | setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer) 必要に応じてパラメーター名を解決するための ParameterNameDiscoverer を設定します(例: |
assertTargetBean, createWithResolvedBean, equals, findProvidedArgument, formatArgumentError, formatInvokeError, getBean, getBeanType, getBridgedMethod, getLogger, getMethod, getMethodAnnotation, getMethodParameters, getResolvedFromHandlerMethod, getReturnType, getReturnValueType, getShortLogMessage, hashCode, hasMethodAnnotation, isVoid, setLogger, toString
cloneSE, finalizeSE, getClassSE, notifySE, notifyAllSE, waitSE, waitSE, waitSE
public InvocableHandlerMethod(HandlerMethod handlerMethod)
HandlerMethod
からインスタンスを作成します。public InvocableHandlerMethod(ObjectSE bean, MethodSE method)
public InvocableHandlerMethod(ObjectSE bean, StringSE methodName, ClassSE<?>... parameterTypes) throws NoSuchMethodExceptionSE
bean
- オブジェクト BeanmethodName
- メソッド名 parameterTypes
- メソッドパラメーター型 NoSuchMethodExceptionSE
- メソッドが見つからない場合 public void setMessageMethodArgumentResolvers(HandlerMethodArgumentResolverComposite argumentResolvers)
HandlerMethodArgumentResolvers
を設定します。public void setParameterNameDiscoverer(ParameterNameDiscoverer parameterNameDiscoverer)
デフォルトは DefaultParameterNameDiscoverer
です。
@Nullable public ObjectSE invoke(Message<?> message, ObjectSE... providedArgs) throws ExceptionSE
引数値は通常、HandlerMethodArgumentResolvers
によって解決されます。ただし、providedArgs
パラメーターは、直接、つまり引数解決なしで使用される引数値を提供する場合があります。
getMethodArgumentValues(org.springframework.messaging.Message<?>, java.lang.Object...)
にデリゲートし、解決された引数を使用して doInvoke(java.lang.Object...)
を呼び出します。
message
- 処理中の現在のメッセージ providedArgs
- 型によって一致する「指定された」引数、解決されない ExceptionSE
- 適切な引数リゾルバーが見つからない場合、またはメソッドで例外が発生した場合に発生します getMethodArgumentValues(org.springframework.messaging.Message<?>, java.lang.Object...)
, doInvoke(java.lang.Object...)
protected ObjectSE[] getMethodArgumentValues(Message<?> message, ObjectSE... providedArgs) throws ExceptionSE
結果の配列は doInvoke(java.lang.Object...)
に渡されます。
ExceptionSE
@Nullable protected ObjectSE doInvoke(ObjectSE... args) throws ExceptionSE
ExceptionSE