public abstract class AbstractNamedValueMethodArgumentResolver extends ObjectSE implements HandlerMethodArgumentResolver
サブクラスは、メソッドパラメーターから名前付き値の詳細を取得する方法、引数値に解決する方法、欠落している値を処理する方法など、特定の手順を定義するだけで済みます。
デフォルト値の文字列には、${...} プレースホルダーと Spring 式言語 #{...}
式を含めることができます。これらは、ConfigurableBeanFactory
がクラスコンストラクターに提供された場合に解決されます。
ConversionService
は、解決された文字列引数値を予期されるターゲットメソッドパラメータータイプに変換するために使用されます。
修飾子と型 | クラスと説明 |
---|---|
protected static class | AbstractNamedValueMethodArgumentResolver.NamedValueInfo 名前付き値の宣言を表します。 |
修飾子 | コンストラクターと説明 |
---|---|
protected | AbstractNamedValueMethodArgumentResolver(ConversionService conversionService, ConfigurableBeanFactory beanFactory) ConversionService および BeanFactory を持つコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo | createNamedValueInfo(MethodParameter parameter) 指定されたメソッドパラメーターの AbstractNamedValueMethodArgumentResolver.NamedValueInfo オブジェクトを作成します。 |
protected abstract void | handleMissingValue(StringSE name, MethodParameter parameter, Message<?> message) 値が必要なときに呼び出されますが、 resolveArgumentInternal(org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>, java.lang.String) は null を返し、デフォルト値はありません。 |
protected void | handleResolvedValue(ObjectSE arg, StringSE name, MethodParameter parameter, Message<?> message) 値が解決された後に呼び出されます。 |
ObjectSE | resolveArgument(MethodParameter parameter, Message<?> message) メソッドパラメーターを特定のメッセージの引数値に解決します。 |
protected abstract ObjectSE | resolveArgumentInternal(MethodParameter parameter, Message<?> message, StringSE name) 指定されたパラメーターのタイプと値の名前を引数値に解決します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
supportsParameter
protected AbstractNamedValueMethodArgumentResolver(ConversionService conversionService, @Nullable ConfigurableBeanFactory beanFactory)
ConversionService
および BeanFactory
を持つコンストラクター。conversionService
- 文字列値をターゲットメソッドパラメータータイプに変換するための変換サービス beanFactory
- ${...}
プレースホルダーと #{...}
SpEL 式をデフォルト値で解決するための Bean ファクトリ public ObjectSE resolveArgument(MethodParameter parameter, Message<?> message) throws ExceptionSE
HandlerMethodArgumentResolver
HandlerMethodArgumentResolver
の resolveArgument
parameter
- 解決するメソッドパラメーター。このパラメーターは、true
を返さなければならない HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
に事前に渡されている必要があります。message
- 現在処理されているメッセージ null
ExceptionSE
- 引数値の準備でエラーが発生した場合 protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class)
を使用してメソッドアノテーションを取得します。parameter
- メソッドパラメーター @Nullable protected abstract ObjectSE resolveArgumentInternal(MethodParameter parameter, Message<?> message, StringSE name) throws ExceptionSE
parameter
- 引数値に解決するメソッドパラメーター message
- 現在のリクエスト name
- 解決される値の名前 null
の可能性があります ExceptionSE
- エラーの場合 protected abstract void handleMissingValue(StringSE name, MethodParameter parameter, Message<?> message)
resolveArgumentInternal(org.springframework.core.MethodParameter, org.springframework.messaging.Message<?>, java.lang.String)
は null
を返し、デフォルト値はありません。この場合、サブクラスは適切な例外をスローできます。name
- 値の名前 parameter
- ターゲットメソッドのパラメーター message
- 処理中のメッセージ protected void handleResolvedValue(@Nullable ObjectSE arg, StringSE name, MethodParameter parameter, Message<?> message)
arg
- 解決された引数値 name
- 引数名 parameter
- 引数パラメーターの型 message
- メッセージ