public class ModelAttributeMethodArgumentResolver extends HandlerMethodArgumentResolverSupport
@ModelAttribute
アノテーション付きメソッド引数を解決します。 モデル属性はモデルから供給されるか、デフォルトのコンストラクターを使用して作成され、モデルに追加されます。作成された属性は、リクエストへのデータバインディングを介して入力されます(フォームデータ、クエリパラメーター)。引数に @javax.validation.Valid
または Spring 独自の @org.springframework.validation.annotation.Validated
アノテーションが付けられている場合も、検証が適用される場合があります。
このハンドラーが useDefaultResolution=true
で作成された場合、非単純型の引数と戻り値は、@ModelAttribute
の有無にかかわらずモデル属性と見なされます。
logger
コンストラクターと説明 |
---|
ModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry adapterRegistry, boolean useDefaultResolution) デフォルトの解決モードフラグを持つクラスコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected reactor.core.publisher.Mono<VoidSE> | bindRequestParameters(WebExchangeDataBinder binder, ServerWebExchange exchange) リクエストをターゲットオブジェクトにバインドする拡張ポイント。 |
reactor.core.publisher.Mono<MapSE<StringSE, ObjectSE>> | getValuesToBind(WebExchangeDataBinder binder, ServerWebExchange exchange) データバインディングの値を取得するための protected メソッド。 |
reactor.core.publisher.Mono<ObjectSE> | resolveArgument(MethodParameter parameter, BindingContext context, ServerWebExchange exchange) メソッドパラメーターの値を解決します。 |
boolean | supportsParameter(MethodParameter parameter) このリゾルバーが指定されたメソッドパラメーターをサポートするかどうか。 |
checkAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public ModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry adapterRegistry, boolean useDefaultResolution)
adapterRegistry
- Mono との間で他のリアクティブ型に適応するため useDefaultResolution
- "true" の場合、非単純メソッドの引数と戻り値は、@ModelAttribute
アノテーションが存在するかどうかに関係なく、モデル属性と見なされます。public boolean supportsParameter(MethodParameter parameter)
HandlerMethodArgumentResolver
parameter
- メソッドパラメーター public reactor.core.publisher.Mono<ObjectSE> resolveArgument(MethodParameter parameter, BindingContext context, ServerWebExchange exchange)
HandlerMethodArgumentResolver
parameter
- メソッドパラメーター context
- 使用するバインディングコンテキスト exchange
- 現在の交換 Mono
、おそらく空 protected reactor.core.publisher.Mono<VoidSE> bindRequestParameters(WebExchangeDataBinder binder, ServerWebExchange exchange)
binder
- バインディングに使用するデータバインダーインスタンス exchange
- 現在のリクエスト public reactor.core.publisher.Mono<MapSE<StringSE,ObjectSE>> getValuesToBind(WebExchangeDataBinder binder, ServerWebExchange exchange)
WebExchangeDataBinder.getValuesToBind(org.springframework.web.server.ServerWebExchange)
に委譲します。binder
- 使用中のデータバインダー exchange
- 現在の交換