作用: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