Class BindingContext

java.lang.Object
org.springframework.web.reactive.BindingContext

public class BindingContext extends Object
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 Details

    • BindingContext

      public BindingContext()
      Create an instance without an initializer.
    • BindingContext

      public BindingContext(@Nullable WebBindingInitializer initializer)
      Create an instance with the given initializer, which may be null.
    • BindingContext

      public BindingContext(@Nullable WebBindingInitializer initializer, ReactiveAdapterRegistry registry)
      Create an instance with the given initializer and ReactiveAdapterRegistry.
      Since:
      6.1
  • Method Details

    • getModel

      public Model 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 exchange
      target - the object to create a data binder for
      name - the name of the target object
      Returns:
      the created data binder
      Throws:
      ServerErrorException - if @InitBinder method invocation fails
    • createDataBinder

      public WebExchangeDataBinder createDataBinder(ServerWebExchange exchange, String name)
      Shortcut method to create a binder without a target object.
      Parameters:
      exchange - the current exchange
      name - 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 a targetType. If the target is null, then targetType is set.
      Since:
      6.1
    • createBinderInstance

      protected WebExchangeDataBinder createBinderInstance(@Nullable Object target, String name)
      Extension point to create the WebDataBinder instance. By default, this is WebRequestDataBinder.
      Parameters:
      target - the binding target or null for type conversion only
      name - 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

      public void updateModel(ServerWebExchange exchange)
      Invoked before rendering to add BindingResult attributes where necessary, and also to promote model attributes listed as @SessionAttributes to the session.
      Parameters:
      exchange - the current exchange
      Since:
      6.1