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...
}