public abstract class AbstractNamedValueMethodArgumentResolver extends ObjectSE implements HandlerMethodArgumentResolver
サブクラスは、次の方法を定義します。
デフォルト値の文字列には、${...} プレースホルダーと Spring 式言語 #{...} 式を含めることができます。これを機能させるには、ConfigurableBeanFactory をクラスコンストラクターに指定する必要があります。
WebDataBinder は、メソッドのパラメーター型と一致しない場合に、解決された引数値に型変換を適用するために作成されます。
| 修飾子と型 | クラスと説明 |
|---|---|
protected static class | AbstractNamedValueMethodArgumentResolver.NamedValueInfo 名前、必須かどうか、デフォルト値など、名前付き値に関する情報を表します。 |
| コンストラクターと説明 |
|---|
AbstractNamedValueMethodArgumentResolver() |
AbstractNamedValueMethodArgumentResolver(ConfigurableBeanFactory beanFactory) 新しい AbstractNamedValueMethodArgumentResolver インスタンスを作成します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEsupportsParameterpublic AbstractNamedValueMethodArgumentResolver()
public AbstractNamedValueMethodArgumentResolver(@Nullable ConfigurableBeanFactory beanFactory)
AbstractNamedValueMethodArgumentResolver インスタンスを作成します。beanFactory - デフォルト値の ${...} プレースホルダーと #{...} SpEL 式を解決するために使用する Bean ファクトリ、またはデフォルト値に式が含まれることが予期されていない場合は null @Nullable public final ObjectSE resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws ExceptionSE
HandlerMethodArgumentResolverModelAndViewContainer は、リクエストのモデルへのアクセスを提供します。WebDataBinderFactory は、データバインディングや型変換の目的で必要な場合に WebDataBinder インスタンスを作成する方法を提供します。HandlerMethodArgumentResolver の resolveArgument parameter - 解決するメソッドパラメーター。このパラメーターは、true を返さなければならない HandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter) に事前に渡されている必要があります。mavContainer - 現在のリクエストの ModelAndViewContainerwebRequest - 現在のリクエスト binderFactory - WebDataBinder インスタンスを作成するためのファクトリ null ExceptionSE - 引数値の準備でエラーが発生した場合 protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueMethodArgumentResolver.NamedValueInfo オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class) を使用してメソッドアノテーションを取得します。parameter - メソッドパラメーター @Nullable protected abstract ObjectSE resolveName(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE
name - 解決される値の名前 parameter - 引数値に解決するメソッドパラメーター (OptionalSE 宣言の場合は事前ネスト)request - 現在のリクエスト null の場合があります)ExceptionSE - エラーの場合 protected void handleMissingValue(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE
resolveName(String, MethodParameter, NativeWebRequest) が null を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。name - 値の名前 parameter - メソッドパラメーター request - 現在のリクエスト ExceptionSEprotected void handleMissingValue(StringSE name, MethodParameter parameter) throws ServletExceptionEE
resolveName(String, MethodParameter, NativeWebRequest) が null を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。name - 値の名前 parameter - メソッドパラメーター ServletExceptionEEprotected void handleMissingValueAfterConversion(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE
null になります。name - 値の名前 parameter - メソッドパラメーター request - 現在のリクエスト ExceptionSEprotected void handleResolvedValue(@Nullable ObjectSE arg, StringSE name, MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest)
arg - 解決された引数値 name - 引数名 parameter - 引数パラメーターの型 mavContainer - ModelAndViewContainer (null の場合があります)webRequest - 現在のリクエスト