spring boot配置跨域

最近通过vue cli写了个前端,想通过axios来访问后端接口,结果就报错:

No 'Access-Control-Allow-Origin' header is present on the requested resource

跨域可以通过前端解决,也可通过nginx代理解决,也可以通过后端解决。

@CrossOrigin注解

只要在RequestMapping上家就行:

 

 你也可以在每个方法上加,而不是整个controller。

但缺点是很明显的,每个controller都加也太麻烦了。

 

全局配置:

实现WebMvcConfigurer或者继承WebMvcConfigurationSupport,两者取其一。重写方法:

@Override
public void addCorsMappings(CorsRegistry registry)
{
// 设置允许跨域的路径
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOrigins("*")
// 是否允许证书
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("GET", "POST", "DELETE", "PUT")
// 设置允许的header属性
.allowedHeaders("*")
// 跨域允许时间
.maxAge(3600);
}

 

posted @ 2020-04-03 16:05  SunSAS  阅读(269)  评论(0编辑  收藏  举报