作用:WebMvcConfigurer是一个用于处理网络请求的接口,它是网络通行的规范,使用时需要实现它的方法,有如下几个常用方法:
2.1 addInterceptors:拦截器
2.2 addViewControllers:页面跳转
2.3 addResourceHandlers:静态资源
2.4 configureDefaultServletHandling:默认静态资源处理器
2.5 configureViewResolvers:视图解析器
2.6 configureContentNegotiation:配置内容裁决的一些参数
2.7 addCorsMappings:跨域
2.8 configureMessageConverters:信息转换器
default void addInterceptors(InterceptorRegistry registry) { }//拦截器
default void addViewControllers(ViewControllerRegistry registry) { }//页面跳转
default void addResourceHandlers(ResourceHandlerRegistry registry) { }//静态资源
default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { }//默认静态资源处理器
default void configureViewResolvers(ViewResolverRegistry registry) { }//视图解析器
default void addCorsMappings(CorsRegistry registry) { }//跨域(常用)
default void configureMessageConverters(List<HttpMessageConverter<?>> converters) { }//信息转换器
二、跨域使用:
@Configuration public class CorsConfiguration implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry){ registry.addMapping("/**") .allowedHeaders("*") .allowedMethods("PUT","POST","GET","HEAD","DELETE","OPTIONS") .allowedOrigins("*") .maxAge(3600) .allowCredentials(true); } }
CorsRegistry各种方法源码:
1、addMapping方法:允许跨域访问的路径
2、allowedOrigins:允许跨域访问的源
3、allowedMethods: 允许请求方法
4、maxAge:预检间隔时间
5、allowedHeaders:允许头部设置
6、allowCredentials(true)// 是否发送cookie