什么是跨域
跨域都是挂在嘴边的问题,整天说,整天听见有人聊,但是当有人问你什么是跨域的时候,囧了。。。。
http://localhost:8080 协议 ip 端口 有一点不一致,那么就会跨域
以前做项目就简单的配置一下全局就可以了
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowCredentials(true)
.allowedOrigins("http://localhost:8080")
.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
.allowedHeaders("*")
}
之前处理跨域的时候直接做一个全局的配置就可以了,但是发现不行。。。。。 竟然不行了 。。。。
重新进行配置:
@Configuration
public class CorsConfig extends WebMvcConfigurationSupport {
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置允许跨域的路径
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOrigins("*")
// 是否允许证书 不再默认开启
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("*")
// 跨域允许时间
.maxAge(3600);
}
}
ok 就实现了跨域
之前的一些配置不知道是因为版本还是因为什么原因。
跨域还有一种方法:注解形式,但是感觉注解很受限,不可能说是每一个Controller上都添加注解
解决这个问题其实就是对springboot 对于CORS的一个简单的处理