クラス AbstractNamedValueMethodArgumentResolver
java.lang.ObjectSE
org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
- 実装されたすべてのインターフェース:
HandlerMethodArgumentResolver
- 既知の直属サブクラス
AbstractCookieValueMethodArgumentResolver
、ExpressionValueMethodArgumentResolver
、MatrixVariableMethodArgumentResolver
、PathVariableMethodArgumentResolver
、RequestAttributeMethodArgumentResolver
、RequestHeaderMethodArgumentResolver
、RequestParamMethodArgumentResolver
、SessionAttributeMethodArgumentResolver
public abstract class AbstractNamedValueMethodArgumentResolver
extends ObjectSE
implements HandlerMethodArgumentResolver
名前付き値からメソッド引数を解決するための抽象基本クラス。リクエストパラメーター、リクエストヘッダー、パス変数は、名前付き値の例です。それぞれに名前、必須フラグ、デフォルト値を含めることができます。
サブクラスは、次の方法を定義します。
- メソッドパラメーターの名前付き値情報を取得する
- 名前を引数値に解決する
- 引数値が必要なときに欠落している引数値を処理する
- オプションで解決された値を処理する
デフォルト値の文字列には、${...} プレースホルダーと Spring 式言語 #{...} 式を含めることができます。これを機能させるには、ConfigurableBeanFactory
をクラスコンストラクターに指定する必要があります。
WebDataBinder
は、メソッドのパラメーター型と一致しない場合に、解決された引数値に型変換を適用するために作成されます。
- 導入:
- 3.1
- 作成者:
- Arjen Poutsma, Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze
ネストされたクラスのサマリー
修飾子と型クラス説明protected static class
名前、必須かどうか、デフォルト値など、名前付き値に関する情報を表します。コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo
createNamedValueInfo
(MethodParameter parameter) 指定されたメソッドパラメーターのAbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。protected void
handleMissingValue
(StringSE name, MethodParameter parameter) 名前付き値が必要であるが、resolveName(String, MethodParameter, NativeWebRequest)
がnull
を返し、デフォルト値がない場合に呼び出されます。protected void
handleMissingValue
(StringSE name, MethodParameter parameter, NativeWebRequest request) 名前付き値が必要であるが、resolveName(String, MethodParameter, NativeWebRequest)
がnull
を返し、デフォルト値がない場合に呼び出されます。protected void
handleMissingValueAfterConversion
(StringSE name, MethodParameter parameter, NativeWebRequest request) 名前付きの値が存在する場合に呼び出されますが、変換後にnull
になります。protected void
handleResolvedValue
(ObjectSE arg, StringSE name, MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest) 値が解決された後に呼び出されます。final ObjectSE
resolveArgument
(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) メソッドパラメーターを解決して、指定されたリクエストの引数値にします。protected abstract ObjectSE
resolveName
(StringSE name, MethodParameter parameter, NativeWebRequest request) 指定されたパラメーターの型と値の名前を引数の値に解決します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.web.method.support.HandlerMethodArgumentResolver から継承されたメソッド
supportsParameter
コンストラクターの詳細
AbstractNamedValueMethodArgumentResolver
public AbstractNamedValueMethodArgumentResolver()AbstractNamedValueMethodArgumentResolver
新しいAbstractNamedValueMethodArgumentResolver
インスタンスを作成します。- パラメーター:
beanFactory
- デフォルト値の ${...} プレースホルダーと #{...} SpEL 式を解決するために使用する Bean ファクトリ、またはデフォルト値に式が含まれることが予期されていない場合はnull
メソッドの詳細
resolveArgument
@Nullable public final ObjectSE resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws ExceptionSE インターフェースからコピーされた説明:HandlerMethodArgumentResolver
メソッドパラメーターを解決して、指定されたリクエストの引数値にします。ModelAndViewContainer
は、リクエストのモデルへのアクセスを提供します。WebDataBinderFactory
は、データバインディングや型変換の目的で必要な場合にWebDataBinder
インスタンスを作成する方法を提供します。- 次で指定:
- インターフェース
HandlerMethodArgumentResolver
のresolveArgument
- パラメーター:
parameter
- 解決するメソッドパラメーター。このパラメーターは、true
を返さなければならないHandlerMethodArgumentResolver.supportsParameter(org.springframework.core.MethodParameter)
に事前に渡されている必要があります。mavContainer
- 現在のリクエストの ModelAndViewContainerwebRequest
- 現在のリクエストbinderFactory
-WebDataBinder
インスタンスを作成するためのファクトリ- 戻り値:
- 解決された引数値、または解決できない場合は
null
- 例外:
ExceptionSE
- 引数値の準備でエラーが発生した場合
createNamedValueInfo
protected abstract AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) 指定されたメソッドパラメーターのAbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class)
を使用してメソッドアノテーションを取得します。- パラメーター:
parameter
- メソッドパラメーター- 戻り値:
- 名前付き値の情報
resolveName
@Nullable protected abstract ObjectSE resolveName(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE 指定されたパラメーターの型と値の名前を引数の値に解決します。- パラメーター:
name
- 解決される値の名前parameter
- 引数値に解決するメソッドパラメーター (Optional
SE 宣言の場合は事前ネスト)request
- 現在のリクエスト- 戻り値:
- 解決された引数 (
null
の場合があります) - 例外:
ExceptionSE
- エラーの場合
handleMissingValue
protected void handleMissingValue(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE 名前付き値が必要であるが、resolveName(String, MethodParameter, NativeWebRequest)
がnull
を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。- パラメーター:
name
- 値の名前parameter
- メソッドパラメーターrequest
- 現在のリクエスト- 例外:
ExceptionSE
- 導入:
- 4.3
handleMissingValue
protected void handleMissingValue(StringSE name, MethodParameter parameter) throws ServletExceptionEE 名前付き値が必要であるが、resolveName(String, MethodParameter, NativeWebRequest)
がnull
を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。- パラメーター:
name
- 値の名前parameter
- メソッドパラメーター- 例外:
ServletExceptionEE
handleMissingValueAfterConversion
protected void handleMissingValueAfterConversion(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE 名前付きの値が存在する場合に呼び出されますが、変換後にnull
になります。- パラメーター:
name
- 値の名前parameter
- メソッドパラメーターrequest
- 現在のリクエスト- 例外:
ExceptionSE
- 導入:
- 5.3.6
handleResolvedValue
protected void handleResolvedValue(@Nullable ObjectSE arg, StringSE name, MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest) 値が解決された後に呼び出されます。- パラメーター:
arg
- 解決された引数値name
- 引数名parameter
- 引数パラメーターの型mavContainer
-ModelAndViewContainer
(null
の場合があります)webRequest
- 現在のリクエスト