我在编写springboot项目的时候,为了方便调试接口,在Controller类上面加了
@CrossOrigin({"*"})
这个处理跨域注解,然后写完接口后我又在拦截器类里面配置拦截器
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("http://127.0.0.1:*")
.allowCredentials(true)
.allowedMethods("GET","POST","PUT","DELETE")
.allowedHeaders("*")
.exposedHeaders("*");
}
然后奇怪的问题出现了,一直报错
When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead.
真是气死我了,我明明在拦截器里面配置了
.allowedOriginPatterns("http://127.0.0.1:*")
为什么报错提示我用了allowedOrigins 而且配置的值是"*"呢?
我当时没想起来我在Controller类上面加了
@CrossOrigin({"*"})
然后一直百度,都是告诉我不要用allowedOrigins 要用allowedOriginPatterns,可是我用了allowedOriginPatterns啊,到最后我想起来了,去吧Controller的
@CrossOrigin({"*"})
删掉就正常了
真是气死我了!