Interface WebFluxConfigurer

All Known Implementing Classes:
WebFluxConfigurerComposite

public interface WebFluxConfigurer
Defines callback methods to customize the configuration for WebFlux applications enabled via @EnableWebFlux.

@EnableWebFlux-annotated configuration classes may implement this interface to be called back and given a chance to customize the default configuration. Consider implementing this interface and overriding the relevant methods for your needs.

Since:
5.0
Author:
Brian Clozel, Rossen Stoyanchev
See Also:
  • Method Details

    • configureHttpMessageCodecs

      default void configureHttpMessageCodecs(ServerCodecConfigurer configurer)
      Configure the HTTP message readers and writers for reading from the request body and for writing to the response body in annotated controllers and functional endpoints.

      By default, all built-in readers and writers are configured as long as the corresponding 3rd party libraries such Jackson JSON, JAXB2, and others are present on the classpath.

      Parameters:
      configurer - the configurer to customize readers and writers
    • addFormatters

      default void addFormatters(FormatterRegistry registry)
      Add custom Converters and Formatters for performing type conversion and formatting of annotated controller method arguments.
    • getValidator

      default @Nullable Validator getValidator()
      Provide a custom Validator.

      By default a validator for standard bean validation is created if bean validation API is present on the classpath.

      The configured validator is used for validating annotated controller method arguments.

    • getMessageCodesResolver

      default @Nullable MessageCodesResolver getMessageCodesResolver()
      Provide a custom MessageCodesResolver to use for data binding in annotated controller method arguments instead of the one created by default in DataBinder.
    • addCorsMappings

      default void addCorsMappings(CorsRegistry registry)
      Configure "global" cross-origin request processing. The configured CORS mappings apply to annotated controllers, functional endpoints, and static resources.

      Annotated controllers can further declare more fine-grained config via @CrossOrigin. In such cases "global" CORS configuration declared here is combined with local CORS configuration defined on a controller method.

      See Also:
    • configureBlockingExecution

      default void configureBlockingExecution(BlockingExecutionConfigurer configurer)
      Configure settings related to blocking execution in WebFlux.
      Since:
      6.1
    • configureContentTypeResolver

      default void configureContentTypeResolver(RequestedContentTypeResolverBuilder builder)
      Configure how the content type requested for the response is resolved when handling requests with annotated controllers.
      Parameters:
      builder - for configuring the resolvers to use
    • configurePathMatching

      default void configurePathMatching(PathMatchConfigurer configurer)
      Configure path matching options.

      The configured path matching options will be used for mapping to annotated controllers and also static resources.

      Parameters:
      configurer - the PathMatchConfigurer instance
    • configureArgumentResolvers

      default void configureArgumentResolvers(ArgumentResolverConfigurer configurer)
      Configure resolvers for custom @RequestMapping method arguments.
      Parameters:
      configurer - to configurer to use
    • addErrorResponseInterceptors

      default void addErrorResponseInterceptors(List<ErrorResponse.Interceptor> interceptors)
      Add to the list of ErrorResponse.Interceptor's to invoke when rendering an RFC 9457 ProblemDetail error response.
      Parameters:
      interceptors - the handlers to use
      Since:
      6.2
    • configureViewResolvers

      default void configureViewResolvers(ViewResolverRegistry registry)
      Configure view resolution for rendering responses with a view and a model, where the view is typically an HTML template but could also be based on an HTTP message writer (for example, JSON, XML).

      The configured view resolvers will be used for both annotated controllers and functional endpoints.

    • addResourceHandlers

      default void addResourceHandlers(ResourceHandlerRegistry registry)
      Add resource handlers for serving static resources.
      See Also:
    • getWebSocketService

      default @Nullable WebSocketService getWebSocketService()
      Provide the WebSocketService to create WebSocketHandlerAdapter with. This can be used to configure server-specific properties through the RequestUpgradeStrategy.
      Since:
      5.3