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

    • 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
    • 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:
    • 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
    • addResourceHandlers

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

      default void configureArgumentResolvers(ArgumentResolverConfigurer configurer)
      Configure resolvers for custom @RequestMapping method arguments.
      Parameters:
      configurer - to configurer to use
    • 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

      @Nullable default 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

      @Nullable default 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.
    • getWebSocketService

      @Nullable default WebSocketService getWebSocketService()
      Provide the WebSocketService to create WebSocketHandlerAdapter with. This can be used to configure server-specific properties through the RequestUpgradeStrategy.
      Since:
      5.3
    • 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 (e.g. JSON, XML).

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