public interface WebMvcConfigurer
@EnableWebMvc
.
@EnableWebMvc
-annotated configuration classes may implement
this interface to be called back and given a chance to customize the
default configuration.
Modifier and Type | Method and Description |
---|---|
default void |
addArgumentResolvers(java.util.List<HandlerMethodArgumentResolver> resolvers)
Add resolvers to support custom controller method argument types.
|
default void |
addCorsMappings(CorsRegistry registry)
Configure cross origin requests processing.
|
default void |
addFormatters(FormatterRegistry registry)
Add
Converters and Formatters in addition to the ones
registered by default. |
default void |
addInterceptors(InterceptorRegistry registry)
Add Spring MVC lifecycle interceptors for pre- and post-processing of
controller method invocations.
|
default void |
addResourceHandlers(ResourceHandlerRegistry registry)
Add handlers to serve static resources such as images, js, and, css
files from specific locations under web application root, the classpath,
and others.
|
default void |
addReturnValueHandlers(java.util.List<HandlerMethodReturnValueHandler> handlers)
Add handlers to support custom controller method return value types.
|
default void |
addViewControllers(ViewControllerRegistry registry)
Configure simple automated controllers pre-configured with the response
status code and/or a view to render the response body.
|
default void |
configureAsyncSupport(AsyncSupportConfigurer configurer)
Configure asynchronous request handling options.
|
default void |
configureContentNegotiation(ContentNegotiationConfigurer configurer)
Configure content negotiation options.
|
default void |
configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
Configure a handler to delegate unhandled requests by forwarding to the
Servlet container's "default" servlet.
|
default void |
configureHandlerExceptionResolvers(java.util.List<HandlerExceptionResolver> resolvers)
Configure exception resolvers.
|
default void |
configureMessageConverters(java.util.List<HttpMessageConverter<?>> converters)
Configure the
HttpMessageConverters to use for reading or writing
to the body of the request or response. |
default void |
configurePathMatch(PathMatchConfigurer configurer)
Helps with configuring HandlerMappings path matching options such as trailing slash match,
suffix registration, path matcher and path helper.
|
default void |
configureViewResolvers(ViewResolverRegistry registry)
Configure view resolvers to translate String-based view names returned from
controllers into concrete
View
implementations to perform rendering with. |
default void |
extendHandlerExceptionResolvers(java.util.List<HandlerExceptionResolver> resolvers)
Extending or modify the list of exception resolvers configured by default.
|
default void |
extendMessageConverters(java.util.List<HttpMessageConverter<?>> converters)
A hook for extending or modifying the list of converters after it has been
configured.
|
default MessageCodesResolver |
getMessageCodesResolver()
Provide a custom
MessageCodesResolver for building message codes
from data binding and validation error codes. |
default Validator |
getValidator()
Provide a custom
Validator instead of the one created by default. |
default void configurePathMatch(PathMatchConfigurer configurer)
default void configureContentNegotiation(ContentNegotiationConfigurer configurer)
default void configureAsyncSupport(AsyncSupportConfigurer configurer)
default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
DispatcherServlet
is mapped to "/" thus overriding the
Servlet container's default handling of static resources.default void addFormatters(FormatterRegistry registry)
Converters
and Formatters
in addition to the ones
registered by default.default void addInterceptors(InterceptorRegistry registry)
Note that interceptors registered here only apply to
controllers and not to resource handler requests. To intercept requests for
static resources either declare a
MappedInterceptor
bean or switch to advanced configuration mode by extending
WebMvcConfigurationSupport
and then override resourceHandlerMapping
.
default void addResourceHandlers(ResourceHandlerRegistry registry)
default void addCorsMappings(CorsRegistry registry)
default void addViewControllers(ViewControllerRegistry registry)
default void configureViewResolvers(ViewResolverRegistry registry)
View
implementations to perform rendering with.default void addArgumentResolvers(java.util.List<HandlerMethodArgumentResolver> resolvers)
This does not override the built-in support for resolving handler
method arguments. To customize the built-in support for argument
resolution, configure RequestMappingHandlerAdapter
directly.
resolvers
- initially an empty listdefault void addReturnValueHandlers(java.util.List<HandlerMethodReturnValueHandler> handlers)
Using this option does not override the built-in support for handling return values. To customize the built-in support for handling return values, configure RequestMappingHandlerAdapter directly.
handlers
- initially an empty listdefault void configureMessageConverters(java.util.List<HttpMessageConverter<?>> converters)
HttpMessageConverters
to use for reading or writing
to the body of the request or response. If no converters are added, a
default list of converters is registered.
Note that adding converters to the list, turns off
default converter registration. To simply add a converter without impacting
default registration, consider using the method
extendMessageConverters(java.util.List)
instead.
converters
- initially an empty list of convertersdefault void extendMessageConverters(java.util.List<HttpMessageConverter<?>> converters)
converters
- the list of configured converters to extend.default void configureHandlerExceptionResolvers(java.util.List<HandlerExceptionResolver> resolvers)
The given list starts out empty. If it is left empty, the framework
configures a default set of resolvers, see
WebMvcConfigurationSupport.addDefaultHandlerExceptionResolvers(List)
.
Or if any exception resolvers are added to the list, then the application
effectively takes over and must provide, fully initialized, exception
resolvers.
Alternatively you can use
extendHandlerExceptionResolvers(List)
which allows you to extend
or modify the list of exception resolvers configured by default.
resolvers
- initially an empty listextendHandlerExceptionResolvers(List)
,
WebMvcConfigurationSupport.addDefaultHandlerExceptionResolvers(List)
default void extendHandlerExceptionResolvers(java.util.List<HandlerExceptionResolver> resolvers)
resolvers
- the list of configured resolvers to extendWebMvcConfigurationSupport.addDefaultHandlerExceptionResolvers(List)
@Nullable default Validator getValidator()
Validator
instead of the one created by default.
The default implementation, assuming JSR-303 is on the classpath, is:
OptionalValidatorFactoryBean
.
Leave the return value as null
to keep the default.@Nullable default MessageCodesResolver getMessageCodesResolver()
MessageCodesResolver
for building message codes
from data binding and validation error codes. Leave the return value as
null
to keep the default.