org.springframework.web.reactive.config

## Class WebFluxConfigurationSupport

- java.lang.Object
- - org.springframework.web.reactive.config.WebFluxConfigurationSupport

All Implemented Interfaces:
  org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

Direct Known Subclasses:
  DelegatingWebFluxConfiguration

    public class WebFluxConfigurationSupport
    extends Object
    implements org.springframework.context.ApplicationContextAware

The main class for Spring WebFlux configuration.

Import directly or extend and override protected methods to customize.

Since:
  5.0
Author:
  Rossen Stoyanchev, Brian Clozel

### Constructor Summary

Constructors
Constructor and Description
`WebFluxConfigurationSupport()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addCorsMappings(CorsRegistry registry)` Override this method to configure cross origin requests processing.
`protected void` `addFormatters(org.springframework.format.FormatterRegistry registry)` Override this method to add custom `Converter` and/or `Formatter` delegates to the common `FormattingConversionService`.
`protected void` `addResourceHandlers(ResourceHandlerRegistry registry)` Override this method to add resource handlers for serving static resources.
`protected void` `configureArgumentResolvers(ArgumentResolverConfigurer configurer)` Configure resolvers for custom controller method arguments.
`protected void` `configureContentTypeResolver(RequestedContentTypeResolverBuilder builder)` Override to configure how the requested content type is resolved.
`protected void` `configureHttpMessageCodecs(org.springframework.http.codec.ServerCodecConfigurer configurer)` Override to configure the HTTP message readers and writers to use.
`void` `configurePathMatching(PathMatchConfigurer configurer)` Override to configure path matching options.
`protected void` `configureViewResolvers(ViewResolverRegistry registry)` Configure view resolution for supporting template engines.
`protected org.springframework.web.server.i18n.LocaleContextResolver` `createLocaleContextResolver()` Override to plug a sub-class of `LocaleContextResolver`.
`protected RequestMappingHandlerAdapter` `createRequestMappingHandlerAdapter()` Override to plug a sub-class of `RequestMappingHandlerAdapter`.
`protected RequestMappingHandlerMapping` `createRequestMappingHandlerMapping()` Override to plug a sub-class of `RequestMappingHandlerMapping`.
`protected RouterFunctionMapping` `createRouterFunctionMapping()` Override to plug a sub-class of `RouterFunctionMapping`.
`org.springframework.context.ApplicationContext` `getApplicationContext()`
`protected org.springframework.web.bind.support.ConfigurableWebBindingInitializer` `getConfigurableWebBindingInitializer(org.springframework.format.support.FormattingConversionService webFluxConversionService, org.springframework.validation.Validator webFluxValidator)` Return the `ConfigurableWebBindingInitializer` to use for initializing all `WebDataBinder` instances.
`protected Map<String,org.springframework.web.cors.CorsConfiguration>` `getCorsConfigurations()` Callback for building the global CORS configuration.
`protected org.springframework.validation.MessageCodesResolver` `getMessageCodesResolver()` Override this method to provide a custom `MessageCodesResolver`.
`protected PathMatchConfigurer` `getPathMatchConfigurer()` Callback for building the `PathMatchConfigurer`.
`protected org.springframework.validation.Validator` `getValidator()` Override this method to provide a custom `Validator`.
`protected ViewResolverRegistry` `getViewResolverRegistry()` Callback for building the `ViewResolverRegistry`.
`HandlerFunctionAdapter` `handlerFunctionAdapter()`
`org.springframework.web.server.i18n.LocaleContextResolver` `localeContextResolver()`
`RequestMappingHandlerAdapter` `requestMappingHandlerAdapter(org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry, org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer, org.springframework.format.support.FormattingConversionService conversionService, org.springframework.validation.Validator validator)`
`RequestMappingHandlerMapping` `requestMappingHandlerMapping(RequestedContentTypeResolver contentTypeResolver)`
`HandlerMapping` `resourceHandlerMapping(ResourceUrlProvider resourceUrlProvider)` Return a handler mapping ordered at Integer.MAX_VALUE-1 with mapped resource handlers.
`ResourceUrlProvider` `resourceUrlProvider()`
`ResponseBodyResultHandler` `responseBodyResultHandler(org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry, org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer, RequestedContentTypeResolver contentTypeResolver)`
`ResponseEntityResultHandler` `responseEntityResultHandler(org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry, org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer, RequestedContentTypeResolver contentTypeResolver)`
`org.springframework.web.server.WebExceptionHandler` `responseStatusExceptionHandler()`
`RouterFunctionMapping` `routerFunctionMapping(org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer)`
`org.springframework.http.codec.ServerCodecConfigurer` `serverCodecConfigurer()` Return the configurer for HTTP message readers and writers.
`ServerResponseResultHandler` `serverResponseResultHandler(org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer)`
`void` `setApplicationContext(org.springframework.context.ApplicationContext applicationContext)`
`SimpleHandlerAdapter` `simpleHandlerAdapter()`
`ViewResolutionResultHandler` `viewResolutionResultHandler(org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry, RequestedContentTypeResolver contentTypeResolver)`
`org.springframework.core.ReactiveAdapterRegistry` `webFluxAdapterRegistry()` Return a `ReactiveAdapterRegistry` to adapting reactive types.
`RequestedContentTypeResolver` `webFluxContentTypeResolver()`
`org.springframework.format.support.FormattingConversionService` `webFluxConversionService()` Return a `FormattingConversionService` for use with annotated controllers.
`org.springframework.validation.Validator` `webFluxValidator()` Return a global `Validator` instance for example for validating `@RequestBody` method arguments.
`DispatcherHandler` `webHandler()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### WebFluxConfigurationSupport

    public WebFluxConfigurationSupport()

### Method Detail

#### setApplicationContext

    public void setApplicationContext(@Nullable
                                      org.springframework.context.ApplicationContext applicationContext)

Specified by:
  `setApplicationContext` in interface `org.springframework.context.ApplicationContextAware`

#### getApplicationContext

    @Nullable
    public final org.springframework.context.ApplicationContext getApplicationContext()

#### webHandler

    @Bean
    public DispatcherHandler webHandler()

#### responseStatusExceptionHandler

    @Bean
     @Order(value=0)
    public org.springframework.web.server.WebExceptionHandler responseStatusExceptionHandler()

#### requestMappingHandlerMapping

    @Bean
    public RequestMappingHandlerMapping requestMappingHandlerMapping(@Qualifier(value="webFluxContentTypeResolver")
                                                                           RequestedContentTypeResolver contentTypeResolver)

#### createRequestMappingHandlerMapping

    protected RequestMappingHandlerMapping createRequestMappingHandlerMapping()

Override to plug a sub-class of `RequestMappingHandlerMapping`.

#### webFluxContentTypeResolver

    @Bean
    public RequestedContentTypeResolver webFluxContentTypeResolver()

#### configureContentTypeResolver

    protected void configureContentTypeResolver(RequestedContentTypeResolverBuilder builder)

Override to configure how the requested content type is resolved.

#### getCorsConfigurations

    protected final Map<String,org.springframework.web.cors.CorsConfiguration> getCorsConfigurations()

Callback for building the global CORS configuration. This method is final. Use `addCorsMappings(CorsRegistry)` to customize the CORS conifg.

#### addCorsMappings

    protected void addCorsMappings(CorsRegistry registry)

Override this method to configure cross origin requests processing.

See Also:
  `CorsRegistry`

#### getPathMatchConfigurer

    protected final PathMatchConfigurer getPathMatchConfigurer()

Callback for building the `PathMatchConfigurer`. This method is final, use `configurePathMatching(org.springframework.web.reactive.config.PathMatchConfigurer)` to customize path matching.

#### configurePathMatching

    public void configurePathMatching(PathMatchConfigurer configurer)

Override to configure path matching options.

#### routerFunctionMapping

    @Bean
    public RouterFunctionMapping routerFunctionMapping(org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer)

#### createRouterFunctionMapping

    protected RouterFunctionMapping createRouterFunctionMapping()

Override to plug a sub-class of `RouterFunctionMapping`.

#### resourceHandlerMapping

    @Bean
    public HandlerMapping resourceHandlerMapping(ResourceUrlProvider resourceUrlProvider)

Return a handler mapping ordered at Integer.MAX_VALUE-1 with mapped resource handlers. To configure resource handling, override `addResourceHandlers(org.springframework.web.reactive.config.ResourceHandlerRegistry)`.

#### resourceUrlProvider

    @Bean
    public ResourceUrlProvider resourceUrlProvider()

#### addResourceHandlers

    protected void addResourceHandlers(ResourceHandlerRegistry registry)

Override this method to add resource handlers for serving static resources.

See Also:
  `ResourceHandlerRegistry`

#### requestMappingHandlerAdapter

    @Bean
    public RequestMappingHandlerAdapter requestMappingHandlerAdapter(@Qualifier(value="webFluxAdapterRegistry")
                                                                           org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry,
                                                                           org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer,
                                                                           @Qualifier(value="webFluxConversionService")
                                                                           org.springframework.format.support.FormattingConversionService conversionService,
                                                                           @Qualifier(value="webFluxValidator")
                                                                           org.springframework.validation.Validator validator)

#### createRequestMappingHandlerAdapter

    protected RequestMappingHandlerAdapter createRequestMappingHandlerAdapter()

Override to plug a sub-class of `RequestMappingHandlerAdapter`.

#### configureArgumentResolvers

    protected void configureArgumentResolvers(ArgumentResolverConfigurer configurer)

Configure resolvers for custom controller method arguments.

#### serverCodecConfigurer

    @Bean
    public org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer()

Return the configurer for HTTP message readers and writers.

Use `configureHttpMessageCodecs(ServerCodecConfigurer)` to configure the readers and writers.

#### createLocaleContextResolver

    protected org.springframework.web.server.i18n.LocaleContextResolver createLocaleContextResolver()

Override to plug a sub-class of `LocaleContextResolver`.

#### localeContextResolver

    @Bean
    public org.springframework.web.server.i18n.LocaleContextResolver localeContextResolver()

#### configureHttpMessageCodecs

    protected void configureHttpMessageCodecs(org.springframework.http.codec.ServerCodecConfigurer configurer)

Override to configure the HTTP message readers and writers to use.

#### getConfigurableWebBindingInitializer

    protected org.springframework.web.bind.support.ConfigurableWebBindingInitializer getConfigurableWebBindingInitializer(org.springframework.format.support.FormattingConversionService webFluxConversionService,
                                                                                                                          org.springframework.validation.Validator webFluxValidator)

Return the `ConfigurableWebBindingInitializer` to use for initializing all `WebDataBinder` instances.

#### webFluxConversionService

    @Bean
    public org.springframework.format.support.FormattingConversionService webFluxConversionService()

Return a `FormattingConversionService` for use with annotated controllers.

See `addFormatters(org.springframework.format.FormatterRegistry)` as an alternative to overriding this method.

#### addFormatters

    protected void addFormatters(org.springframework.format.FormatterRegistry registry)

Override this method to add custom `Converter` and/or `Formatter` delegates to the common `FormattingConversionService`.

See Also:
  `webFluxConversionService()`

#### webFluxAdapterRegistry

    @Bean
    public org.springframework.core.ReactiveAdapterRegistry webFluxAdapterRegistry()

Return a `ReactiveAdapterRegistry` to adapting reactive types.

#### webFluxValidator

    @Bean
    public org.springframework.validation.Validator webFluxValidator()

Return a global `Validator` instance for example for validating `@RequestBody` method arguments.

Delegates to `getValidator()` first. If that returns `null` checks the classpath for the presence of a JSR-303 implementations before creating a `OptionalValidatorFactoryBean`. If a JSR-303 implementation is not available, a "no-op" `Validator` is returned.

#### getValidator

    @Nullable
    protected org.springframework.validation.Validator getValidator()

Override this method to provide a custom `Validator`.

#### getMessageCodesResolver

    @Nullable
    protected org.springframework.validation.MessageCodesResolver getMessageCodesResolver()

Override this method to provide a custom `MessageCodesResolver`.

#### handlerFunctionAdapter

    @Bean
    public HandlerFunctionAdapter handlerFunctionAdapter()

#### simpleHandlerAdapter

    @Bean
    public SimpleHandlerAdapter simpleHandlerAdapter()

#### responseEntityResultHandler

    @Bean
    public ResponseEntityResultHandler responseEntityResultHandler(@Qualifier(value="webFluxAdapterRegistry")
                                                                         org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry,
                                                                         org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer,
                                                                         @Qualifier(value="webFluxContentTypeResolver")
                                                                         RequestedContentTypeResolver contentTypeResolver)

#### responseBodyResultHandler

    @Bean
    public ResponseBodyResultHandler responseBodyResultHandler(@Qualifier(value="webFluxAdapterRegistry")
                                                                     org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry,
                                                                     org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer,
                                                                     @Qualifier(value="webFluxContentTypeResolver")
                                                                     RequestedContentTypeResolver contentTypeResolver)

#### viewResolutionResultHandler

    @Bean
    public ViewResolutionResultHandler viewResolutionResultHandler(@Qualifier(value="webFluxAdapterRegistry")
                                                                         org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry,
                                                                         @Qualifier(value="webFluxContentTypeResolver")
                                                                         RequestedContentTypeResolver contentTypeResolver)

#### serverResponseResultHandler

    @Bean
    public ServerResponseResultHandler serverResponseResultHandler(org.springframework.http.codec.ServerCodecConfigurer serverCodecConfigurer)

#### getViewResolverRegistry

    protected final ViewResolverRegistry getViewResolverRegistry()

Callback for building the `ViewResolverRegistry`. This method is final, use `configureViewResolvers(org.springframework.web.reactive.config.ViewResolverRegistry)` to customize view resolvers.

#### configureViewResolvers

    protected void configureViewResolvers(ViewResolverRegistry registry)

Configure view resolution for supporting template engines.

See Also:
  `ViewResolverRegistry`