public class PathVariableMethodArgumentResolver extends AbstractNamedValueSyncArgumentResolver
PathVariable
でアノテーションされたメソッド引数を解決します。@PathVariable
は、URI テンプレート変数から解決される名前付きの値です。これは常に必要であり、フォールバックするデフォルト値はありません。名前付き値の処理方法の詳細については、基本クラス AbstractNamedValueMethodArgumentResolver
を参照してください。
メソッドパラメーター型が Map
SE の場合、アノテーションで指定された名前は、URI 変数の文字列値を解決するために使用されます。次に、適切な Converter
を想定して、値は型変換によって Map
SE に変換されます。
PathVariableMapMethodArgumentResolver
AbstractNamedValueArgumentResolver.NamedValueInfo
logger
コンストラクターと説明 |
---|
PathVariableMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry) 新しい PathVariableMethodArgumentResolver を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected AbstractNamedValueArgumentResolver.NamedValueInfo | createNamedValueInfo(MethodParameter parameter) 指定されたメソッドパラメーターの AbstractNamedValueArgumentResolver.NamedValueInfo オブジェクトを作成します。 |
protected void | handleMissingValue(StringSE name, MethodParameter parameter) 名前付き値が必要であるが、 AbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange) が null を返し、デフォルト値がない場合に呼び出されます。 |
protected void | handleResolvedValue(ObjectSE arg, StringSE name, MethodParameter parameter, Model model, ServerWebExchange exchange) 値が解決された後に呼び出されます。 |
protected ObjectSE | resolveNamedValue(StringSE name, MethodParameter parameter, ServerWebExchange exchange) 実際に同期的に値を解決します。 |
boolean | supportsParameter(MethodParameter parameter) このリゾルバーが指定されたメソッドパラメーターをサポートするかどうか。 |
resolveArgument, resolveArgumentValue, resolveName
handleMissingValue
checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public PathVariableMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry)
PathVariableMethodArgumentResolver
を作成します。factory
- デフォルト値の ${...}
プレースホルダーと #{...}
SpEL 式を解決するために使用する Bean ファクトリ。または null
(デフォルト値に式が含まれることが予期されない場合)registry
- リアクティブ型ラッパーのチェック用 public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
parameter
- メソッドパラメーター protected AbstractNamedValueArgumentResolver.NamedValueInfo createNamedValueInfo(MethodParameter parameter)
AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver.NamedValueInfo
オブジェクトを作成します。実装は通常、MethodParameter.getParameterAnnotation(Class)
を使用してメソッドアノテーションを取得します。AbstractNamedValueArgumentResolver
の createNamedValueInfo
parameter
- メソッドパラメーター protected ObjectSE resolveNamedValue(StringSE name, MethodParameter parameter, ServerWebExchange exchange)
AbstractNamedValueSyncArgumentResolver
protected void handleMissingValue(StringSE name, MethodParameter parameter)
AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)
が null
を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。AbstractNamedValueArgumentResolver
の handleMissingValue
name
- 値の名前 parameter
- メソッドパラメーター protected void handleResolvedValue(@Nullable ObjectSE arg, StringSE name, MethodParameter parameter, Model model, ServerWebExchange exchange)
AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver
の handleResolvedValue
arg
- 解決された引数値 name
- 引数名 parameter
- 引数パラメーターの型 model
- モデル exchange
- 現在の交換