跨域配置类: //配置跨域 @Configuration public class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); return corsConfiguration; } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", buildConfig()); return new CorsFilter(source); } }
除了跨域的配置类,在token的校验层,也给response加上了跨域配置,具体在哪里增加需要根据实际的架构来实现。
token校验层给请求增加跨域相关配置:
private void corsHeader(HttpServletResponse response) { response.setContentType("application/json; charset=utf-8"); response.setCharacterEncoding("UTF-8"); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT"); //允许的header参数,一定要指定自定义的header参数 response.addHeader("Access-Control-Allow-Headers", "Content-Type,token"); }