public class RequestParamMethodArgumentResolver extends AbstractNamedValueSyncArgumentResolver
RequestParam
でアノテーションが付けられたメソッド引数のリゾルバー。 このリゾルバーは、デフォルトの解決モードで作成することもできます。このモードでは、@RequestParam
でアノテーションが付けられていない単純な型(int、long など)も、引数名から派生したパラメーター名を持つリクエストパラメーターとして扱われます。
メソッドパラメーター型が Map
SE の場合、アノテーションで指定された名前を使用して、リクエストパラメーターの文字列値が解決されます。次に、適切な Converter
が登録されていると仮定して、型変換を介して値が Map
SE に変換されます。または、リクエストパラメーター名が指定されていない場合は、代わりに RequestParamMapMethodArgumentResolver
を使用して、マップの形式ですべてのリクエストパラメーターへのアクセスを提供します。
RequestParamMapMethodArgumentResolver
AbstractNamedValueArgumentResolver.NamedValueInfo
logger
コンストラクターと説明 |
---|
RequestParamMethodArgumentResolver(ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry, boolean useDefaultResolution) デフォルトの解決モードフラグを持つクラスコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected AbstractNamedValueArgumentResolver.NamedValueInfo | createNamedValueInfo(MethodParameter parameter) 指定されたメソッドパラメーターの AbstractNamedValueArgumentResolver.NamedValueInfo オブジェクトを作成します。 |
protected void | handleMissingValue(StringSE name, MethodParameter parameter, ServerWebExchange exchange) 名前付き値が必要であるが、 AbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange) が null を返し、デフォルト値がない場合に呼び出されます。 |
protected ObjectSE | resolveNamedValue(StringSE name, MethodParameter parameter, ServerWebExchange exchange) 実際に同期的に値を解決します。 |
boolean | supportsParameter(MethodParameter param) このリゾルバーが指定されたメソッドパラメーターをサポートするかどうか。 |
resolveArgument, resolveArgumentValue, resolveName
handleMissingValue, handleResolvedValue
checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public RequestParamMethodArgumentResolver(@Nullable ConfigurableBeanFactory factory, ReactiveAdapterRegistry registry, boolean useDefaultResolution)
factory
- デフォルト値の ${...} プレースホルダーと #{...} SpEL 式を解決するために使用される Bean ファクトリ、またはデフォルト値に式が含まれることが予期されていない場合は null
registry
- リアクティブ型ラッパーのチェック用 useDefaultResolution
- デフォルトの解決モードでは、BeanUtils.isSimpleProperty(java.lang.Class<?>)
で定義されている単純な型のメソッド引数は、アノテーションが付けられていない場合でもリクエストパラメーターとして扱われ、リクエストパラメーター名はメソッドパラメーター名から派生します。public boolean supportsParameter(MethodParameter param)
HandlerMethodArgumentResolver
param
- メソッドパラメーター 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, ServerWebExchange exchange)
AbstractNamedValueArgumentResolver
AbstractNamedValueArgumentResolver.resolveName(String, MethodParameter, ServerWebExchange)
が null
を返し、デフォルト値がない場合に呼び出されます。この場合、サブクラスは通常、例外をスローします。AbstractNamedValueArgumentResolver
の handleMissingValue
name
- 値の名前 parameter
- メソッドパラメーター exchange
- 現在の交換