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 Details

    • WebFluxConfigurationSupport

      public WebFluxConfigurationSupport()
  • Method Details

    • 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(0) public org.springframework.web.server.WebExceptionHandler responseStatusExceptionHandler()
    • requestMappingHandlerMapping

      @Bean public RequestMappingHandlerMapping requestMappingHandlerMapping(@Qualifier("webFluxContentTypeResolver") RequestedContentTypeResolver contentTypeResolver)
    • createRequestMappingHandlerMapping

      protected RequestMappingHandlerMapping createRequestMappingHandlerMapping()
      Override to plug a subclass 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 config.
    • addCorsMappings

      protected void addCorsMappings(CorsRegistry registry)
      Override this method to configure cross-origin requests processing.
      See Also:
    • 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 subclass 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:
    • requestMappingHandlerAdapter

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

      protected RequestMappingHandlerAdapter createRequestMappingHandlerAdapter()
      Override to plug a subclass 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 subclass 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:
    • 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()
    • webFluxWebSocketHandlerAdapter

      @Bean public WebSocketHandlerAdapter webFluxWebSocketHandlerAdapter()
    • getWebSocketService

      @Nullable protected WebSocketService getWebSocketService()
    • responseEntityResultHandler

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

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

      @Bean public ViewResolutionResultHandler viewResolutionResultHandler(@Qualifier("webFluxAdapterRegistry") org.springframework.core.ReactiveAdapterRegistry reactiveAdapterRegistry, @Qualifier("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: