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. Consider extending WebMvcConfigurerAdapter,
which provides a stub implementation of all interface methods.
| Modifier and Type | Method and Description |
|---|---|
void |
addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
Add resolvers to support custom controller method argument types.
|
void |
addFormatters(FormatterRegistry registry)
|
void |
addInterceptors(InterceptorRegistry registry)
Add Spring MVC lifecycle interceptors for pre- and post-processing of
controller method invocations.
|
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.
|
void |
addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)
Add handlers to support custom controller method return value types.
|
void |
addViewControllers(ViewControllerRegistry registry)
Configure simple automated controllers pre-configured with the response
status code and/or a view to render the response body.
|
void |
configureAsyncSupport(AsyncSupportConfigurer configurer)
Configure asynchronous request handling options.
|
void |
configureContentNegotiation(ContentNegotiationConfigurer configurer)
Configure content negotiation options.
|
void |
configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
Configure a handler to delegate unhandled requests by forwarding to the
Servlet container's "default" servlet.
|
void |
configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)
Configure the
HandlerExceptionResolvers to handle unresolved
controller exceptions. |
void |
configureMessageConverters(List<HttpMessageConverter<?>> converters)
Configure the
HttpMessageConverters to use for reading or writing
to the body of the request or response. |
void |
configurePathMatch(PathMatchConfigurer configurer)
Helps with configuring HandlerMappings path matching options such as trailing slash match,
suffix registration, path matcher and path helper.
|
void |
configureViewResolvers(ViewResolverRegistry registry)
Configure view resolvers to translate String-based view names returned from
controllers into concrete
View
implementations to perform rendering with. |
void |
extendMessageConverters(List<HttpMessageConverter<?>> converters)
A hook for extending or modifying the list of converters after it has been
configured.
|
MessageCodesResolver |
getMessageCodesResolver()
Provide a custom
MessageCodesResolver for building message codes
from data binding and validation error codes. |
Validator |
getValidator()
Provide a custom
Validator instead of the one created by default. |
void addFormatters(FormatterRegistry registry)
void configureMessageConverters(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 convertersvoid extendMessageConverters(List<HttpMessageConverter<?>> converters)
converters - the list of configured converters to extend.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.void configureContentNegotiation(ContentNegotiationConfigurer configurer)
void configureAsyncSupport(AsyncSupportConfigurer configurer)
void configurePathMatch(PathMatchConfigurer configurer)
void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers)
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.
argumentResolvers - initially an empty listvoid addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers)
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.
returnValueHandlers - initially an empty listvoid configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers)
HandlerExceptionResolvers to handle unresolved
controller exceptions. If no resolvers are added to the list, default
exception resolvers are added instead.exceptionResolvers - initially an empty listvoid 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.
MessageCodesResolver getMessageCodesResolver()
MessageCodesResolver for building message codes
from data binding and validation error codes. Leave the return value as
null to keep the default.void addViewControllers(ViewControllerRegistry registry)
void configureViewResolvers(ViewResolverRegistry registry)
View
implementations to perform rendering with.void addResourceHandlers(ResourceHandlerRegistry registry)
void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
DispatcherServlet is mapped to "/" thus overriding the
Servlet container's default handling of static resources.