项目用springboot 2.1.9,跨域就没问题,但是改成最新的2.2.0,就无法跨域,哪位大佬知道为什么吗
这种问题,没头没脑。没日志,没配置,没浏览器控制台信息,没操作流程。没人猜得到是啥问题。
@Configuration
public class CorsConfig extends WebMvcConfigurationSupport {
@Override
protected void addCorsMappings(CorsRegistry registry) {
super.addCorsMappings(registry);
registry.addMapping("/**")
.allowedMethods("*")
.allowedOrigins("*")
.allowedHeaders("*");
}
}
- 断点试试,你进入了这个方法
- 建议使用实现接口
implements WebMvcConfigurer
而不是继承WebMvcConfigurationSupport
,具体原因是…(我忘了…)
1 Like
WebMvcConfigurerAdapter 我这边实现的是重写的这个类方法 addCorsMappings
代码部分:
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
//放行哪些原始域
.allowedOrigins("*")
//是否发送Cookie信息
.allowCredentials(true)
//放行哪些原始域(请求方式)
.allowedMethods("GET", "POST", "PUT", "DELETE", RequestMethod.OPTIONS.name())
//放行哪些原始域(头部信息)
.allowedHeaders("*")
//暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
.exposedHeaders("access-control-allow-headers",
"access-control-allow-methods",
"access-control-allow-origin",
"access-control-max-age",
"X-Frame-Options",
"userAuth")
.maxAge(3600);
}