Class ModelAttributeMethodArgumentResolver
java.lang.Object
org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupport
org.springframework.web.reactive.result.method.annotation.ModelAttributeMethodArgumentResolver
- All Implemented Interfaces:
- HandlerMethodArgumentResolver
Resolve 
@ModelAttribute annotated method arguments.
 Model attributes are sourced from the model, or created using a default
 constructor and then added to the model. Once created the attribute is
 populated via data binding to the request (form data, query params).
 Validation also may be applied if the argument is annotated with
 @jakarta.validation.Valid or Spring's own
 @org.springframework.validation.annotation.Validated.
 
When this handler is created with useDefaultResolution=true
 any non-simple type argument and return value is regarded as a model
 attribute with or without the presence of an @ModelAttribute.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller, Sam Brannen, Sebastien Deleuze
- 
Field SummaryFields inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportlogger
- 
Constructor SummaryConstructorsConstructorDescriptionModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry adapterRegistry, boolean useDefaultResolution) Class constructor with a default resolution mode flag.
- 
Method SummaryModifier and TypeMethodDescriptionprotected reactor.core.publisher.Mono<Void>bindRequestParameters(WebExchangeDataBinder binder, ServerWebExchange exchange) Extension point to bind the request to the target object.getValuesToBind(WebExchangeDataBinder binder, ServerWebExchange exchange) Protected method to obtain the values for data binding.reactor.core.publisher.Mono<Object>resolveArgument(MethodParameter parameter, BindingContext context, ServerWebExchange exchange) Resolve the value for the method parameter.booleansupportsParameter(MethodParameter parameter) Whether this resolver supports the given method parameter.Methods inherited from class org.springframework.web.reactive.result.method.HandlerMethodArgumentResolverSupportcheckAnnotatedParamNoReactiveWrapper, checkParameterType, checkParameterTypeNoReactiveWrapper, getAdapterRegistry
- 
Constructor Details- 
ModelAttributeMethodArgumentResolverpublic ModelAttributeMethodArgumentResolver(ReactiveAdapterRegistry adapterRegistry, boolean useDefaultResolution) Class constructor with a default resolution mode flag.- Parameters:
- adapterRegistry- for adapting to other reactive types from and to Mono
- useDefaultResolution- if "true", non-simple method arguments and return values are considered model attributes with or without a- @ModelAttributeannotation present.
 
 
- 
- 
Method Details- 
supportsParameterDescription copied from interface:HandlerMethodArgumentResolverWhether this resolver supports the given method parameter.- Parameters:
- parameter- the method parameter
 
- 
resolveArgumentpublic reactor.core.publisher.Mono<Object> resolveArgument(MethodParameter parameter, BindingContext context, ServerWebExchange exchange) Description copied from interface:HandlerMethodArgumentResolverResolve the value for the method parameter.- Parameters:
- parameter- the method parameter
- context- the binding context to use
- exchange- the current exchange
- Returns:
- Monofor the argument value, possibly empty
 
- 
bindRequestParametersprotected reactor.core.publisher.Mono<Void> bindRequestParameters(WebExchangeDataBinder binder, ServerWebExchange exchange) Extension point to bind the request to the target object.- Parameters:
- binder- the data binder instance to use for the binding
- exchange- the current request
- Since:
- 5.2.6
 
- 
getValuesToBindpublic reactor.core.publisher.Mono<Map<String,Object>> getValuesToBind(WebExchangeDataBinder binder, ServerWebExchange exchange) Protected method to obtain the values for data binding. By default this method delegates toWebExchangeDataBinder.getValuesToBind(org.springframework.web.server.ServerWebExchange).- Parameters:
- binder- the data binder in use
- exchange- the current exchange
- Returns:
- a map of bind values
- Since:
- 5.3
 
 
-