Package org.springframework.web.reactive
Class BindingContext
java.lang.Object
org.springframework.web.reactive.BindingContext
Context to assist with binding request data onto Objects and provide access
to a shared
Model
with controller-specific attributes.
Provides methods to create a WebExchangeDataBinder
for a specific
target, command Object to apply data binding and validation to, or without a
target Object for simple type conversion from request values.
Container for the default model for the request.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller
-
Constructor Summary
ConstructorDescriptionCreate an instance without an initializer.BindingContext
(WebBindingInitializer initializer) Create an instance with the given initializer, which may benull
.BindingContext
(WebBindingInitializer initializer, ReactiveAdapterRegistry registry) Create an instance with the given initializer andReactiveAdapterRegistry
. -
Method Summary
Modifier and TypeMethodDescriptionprotected WebExchangeDataBinder
createBinderInstance
(Object target, String name) Extension point to create the WebDataBinder instance.createDataBinder
(ServerWebExchange exchange, Object target, String name) Create a binder with a target object.createDataBinder
(ServerWebExchange exchange, Object target, String name, ResolvableType targetType) Create a binder with a target object and atargetType
.createDataBinder
(ServerWebExchange exchange, String name) Shortcut method to create a binder without a target object.getModel()
Return the default model.protected WebExchangeDataBinder
initDataBinder
(WebExchangeDataBinder binder, ServerWebExchange exchange) Initialize the data binder instance for the given exchange.void
setMethodValidationApplicable
(boolean methodValidationApplicable) Configure flag to signal whether validation will be applied to handler method arguments, which is the case if Bean Validation is enabled in Spring MVC, and method parameters have@Constraint
annotations.void
updateModel
(ServerWebExchange exchange) Invoked before rendering to addBindingResult
attributes where necessary, and also to promote model attributes listed as@SessionAttributes
to the session.
-
Constructor Details
-
BindingContext
public BindingContext()Create an instance without an initializer. -
BindingContext
Create an instance with the given initializer, which may benull
. -
BindingContext
public BindingContext(@Nullable WebBindingInitializer initializer, ReactiveAdapterRegistry registry) Create an instance with the given initializer andReactiveAdapterRegistry
.- Since:
- 6.1
-
-
Method Details
-
getModel
Return the default model. -
setMethodValidationApplicable
public void setMethodValidationApplicable(boolean methodValidationApplicable) Configure flag to signal whether validation will be applied to handler method arguments, which is the case if Bean Validation is enabled in Spring MVC, and method parameters have@Constraint
annotations.- Since:
- 6.1
-
createDataBinder
public WebExchangeDataBinder createDataBinder(ServerWebExchange exchange, @Nullable Object target, String name) Create a binder with a target object.- Parameters:
exchange
- the current exchangetarget
- the object to create a data binder forname
- the name of the target object- Returns:
- the created data binder
- Throws:
ServerErrorException
- if@InitBinder
method invocation fails
-
createDataBinder
Shortcut method to create a binder without a target object.- Parameters:
exchange
- the current exchangename
- the name of the target object- Returns:
- the created data binder
- Throws:
ServerErrorException
- if@InitBinder
method invocation fails
-
createDataBinder
public WebExchangeDataBinder createDataBinder(ServerWebExchange exchange, @Nullable Object target, String name, @Nullable ResolvableType targetType) Create a binder with a target object and atargetType
. If the target isnull
, thentargetType
is set.- Since:
- 6.1
-
createBinderInstance
Extension point to create the WebDataBinder instance. By default, this isWebRequestDataBinder
.- Parameters:
target
- the binding target ornull
for type conversion onlyname
- the binding target object name- Returns:
- the created
WebExchangeDataBinder
instance - Since:
- 6.2.1
-
initDataBinder
protected WebExchangeDataBinder initDataBinder(WebExchangeDataBinder binder, ServerWebExchange exchange) Initialize the data binder instance for the given exchange.- Throws:
ServerErrorException
- if@InitBinder
method invocation fails
-
updateModel
Invoked before rendering to addBindingResult
attributes where necessary, and also to promote model attributes listed as@SessionAttributes
to the session.- Parameters:
exchange
- the current exchange- Since:
- 6.1
-