クラス PathVariableMethodArgumentResolver
java.lang.ObjectSE
org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver
org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver
- 実装されたすべてのインターフェース:
HandlerMethodArgumentResolver
,UriComponentsContributor
public class PathVariableMethodArgumentResolver
extends AbstractNamedValueMethodArgumentResolver
implements UriComponentsContributor
@
PathVariable
のアノテーションが付けられたメソッド引数を解決します。@PathVariable
は、URI テンプレート変数から解決される名前付きの値です。これは常に必要であり、フォールバックするデフォルト値はありません。名前付き値の処理方法の詳細については、基本クラス AbstractNamedValueMethodArgumentResolver
を参照してください。
メソッドパラメーター型が Map
SE の場合、アノテーションで指定された名前は、URI 変数の文字列値を解決するために使用されます。次に、適切な Converter
または PropertyEditor
SE が登録されていると想定して、値は型変換によって Map
SE に変換されます。
WebDataBinder
が呼び出され、メソッドのパラメーター型とまだ一致しない解決済みのパス変数値に型変換が適用されます。
- 導入:
- 3.1
- 作成者:
- Rossen Stoyanchev, Arjen Poutsma, Juergen Hoeller
ネストされたクラスのサマリー
クラス org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver から継承されたネストクラス / インターフェース
AbstractNamedValueMethodArgumentResolver.NamedValueInfo
コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
contributeMethodArgument
(MethodParameter parameter, ObjectSE value, UriComponentsBuilder builder, MapSE<StringSE, ObjectSE> uriVariables, ConversionService conversionService) 指定されたメソッド引数を処理し、UriComponentsBuilder
を更新するか、すべての引数が処理された後に URI を展開するために使用する URI 変数でマップに追加します。createNamedValueInfo
(MethodParameter parameter) 指定されたメソッドパラメーターのAbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。protected StringSE
formatUriValue
(ConversionService cs, TypeDescriptor sourceType, ObjectSE value) protected void
handleMissingValue
(StringSE name, MethodParameter parameter) 名前付き値が必要であるが、AbstractNamedValueMethodArgumentResolver.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 request) 値が解決された後に呼び出されます。protected ObjectSE
resolveName
(StringSE name, MethodParameter parameter, NativeWebRequest request) 指定されたパラメーターの型と値の名前を引数の値に解決します。boolean
supportsParameter
(MethodParameter parameter) このコントリビュータが指定されたメソッドパラメーターをサポートするかどうか。クラス org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver から継承されたメソッド
handleMissingValue, resolveArgument
コンストラクターの詳細
PathVariableMethodArgumentResolver
public PathVariableMethodArgumentResolver()
メソッドの詳細
supportsParameter
インターフェースからコピーされた説明:UriComponentsContributor
このコントリビュータが指定されたメソッドパラメーターをサポートするかどうか。- 次で指定:
- インターフェース
HandlerMethodArgumentResolver
のsupportsParameter
- 次で指定:
- インターフェース
UriComponentsContributor
のsupportsParameter
- パラメーター:
parameter
- チェックするメソッドパラメーター- 戻り値:
- このリゾルバーが提供されたパラメーターをサポートする場合、
true
。それ以外の場合はfalse
createNamedValueInfo
protected AbstractNamedValueMethodArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter) クラスからコピーされた説明:AbstractNamedValueMethodArgumentResolver
指定されたメソッドパラメーターのAbstractNamedValueMethodArgumentResolver.NamedValueInfo
オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class)
を使用してメソッドアノテーションを取得します。- 次で指定:
- クラス
AbstractNamedValueMethodArgumentResolver
のcreateNamedValueInfo
- パラメーター:
parameter
- メソッドパラメーター- 戻り値:
- 名前付き値の情報
resolveName
@Nullable protected ObjectSE resolveName(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE クラスからコピーされた説明:AbstractNamedValueMethodArgumentResolver
指定されたパラメーターの型と値の名前を引数の値に解決します。- 次で指定:
- クラス
AbstractNamedValueMethodArgumentResolver
のresolveName
- パラメーター:
name
- 解決される値の名前parameter
- 引数値に解決するメソッドパラメーター (Optional
SE 宣言の場合は事前ネスト)request
- 現在のリクエスト- 戻り値:
- 解決された引数 (
null
の場合があります) - 例外:
ExceptionSE
- エラーの場合
handleMissingValue
protected void handleMissingValue(StringSE name, MethodParameter parameter) throws ServletRequestBindingException クラスからコピーされた説明:AbstractNamedValueMethodArgumentResolver
名前付き値が必要であるが、AbstractNamedValueMethodArgumentResolver.resolveName(String, MethodParameter, NativeWebRequest)
がnull
を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。- オーバーライド:
- クラス
AbstractNamedValueMethodArgumentResolver
のhandleMissingValue
- パラメーター:
name
- 値の名前parameter
- メソッドパラメーター- 例外:
ServletRequestBindingException
handleMissingValueAfterConversion
protected void handleMissingValueAfterConversion(StringSE name, MethodParameter parameter, NativeWebRequest request) throws ExceptionSE クラスからコピーされた説明:AbstractNamedValueMethodArgumentResolver
名前付きの値が存在する場合に呼び出されますが、変換後にnull
になります。- オーバーライド:
- クラス
AbstractNamedValueMethodArgumentResolver
のhandleMissingValueAfterConversion
- パラメーター:
name
- 値の名前parameter
- メソッドパラメーターrequest
- 現在のリクエスト- 例外:
ExceptionSE
handleResolvedValue
protected void handleResolvedValue(@Nullable ObjectSE arg, StringSE name, MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest request) クラスからコピーされた説明:AbstractNamedValueMethodArgumentResolver
値が解決された後に呼び出されます。- オーバーライド:
- クラス
AbstractNamedValueMethodArgumentResolver
のhandleResolvedValue
- パラメーター:
arg
- 解決された引数値name
- 引数名parameter
- 引数パラメーターの型mavContainer
-ModelAndViewContainer
(null
の場合があります)request
- 現在のリクエスト
contributeMethodArgument
public void contributeMethodArgument(MethodParameter parameter, ObjectSE value, UriComponentsBuilder builder, MapSE<StringSE, ObjectSE> uriVariables, ConversionService conversionService) インターフェースからコピーされた説明:UriComponentsContributor
指定されたメソッド引数を処理し、UriComponentsBuilder
を更新するか、すべての引数が処理された後に URI を展開するために使用する URI 変数でマップに追加します。- 次で指定:
- インターフェース
UriComponentsContributor
のcontributeMethodArgument
- パラメーター:
parameter
- コントローラーメソッドパラメーター (非null
)value
- 引数値 (おそらくnull
)builder
- 更新するビルダー (非null
)uriVariables
- URI 変数を追加するマップ (非null
)conversionService
- 値を文字列としてフォーマットする ConversionService
formatUriValue
@Nullable protected StringSE formatUriValue(@Nullable ConversionService cs, @Nullable TypeDescriptor sourceType, ObjectSE value)