1、Spring Boot 2.0以前全局配置跨域主要是继承WebMvcConfigurerAdapter
@Configuration public class CorsConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("*") .allowCredentials(true) .allowedMethods("*") .maxAge(3600); } }
2、2.0.x以后全局配置如下,主要是实现WebMvcConfigurer
@Configuration @EnableWebMvc public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { // 设置允许跨域的路径 registry.addMapping("/**") // 设置允许跨域请求的域名 .allowedOrigins("*") // 是否允许证书 不再默认开启 .allowCredentials(true) // 设置允许的方法 .allowedMethods("*") // 跨域允许时间 .maxAge(3600); } }
3、局部配置
@GetMapping("/getPageInfos") @CrossOrigin public JSONObject getPageInfos(@RequestParam(value = "resourceId") long resourceId, @RequestParam(value = "range", required = false) int[] range,HttpServletResponse response) { response.setHeader("Access-Control-Allow-Origin", "*"); // do sth... }