开发时遇到前端访问时总是提示:Access-Control-Allow-Origin;
或者就是请求正常,响应是200也正常,但response却是空的,啥也没有;
很可能是请求跨域被拒绝了,解决办法有很多种,可以前端解决,我是从后端解决的:
直接添加一个全局的配置就解决了(我是通过这种方式解决的),配置如下:
网上说也可以在请求的类或方法上加 @CrossOrigin 注解,可以更细粒度的控制请求的跨域,应该也是可以的(没试过)。
@Configuration
public class OriginConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS") // 配置跨域请求支持的方式
.allowCredentials(true) // 配置是否允许发送Cookie,用于 凭证请求, 默认不发送cookie
.maxAge(3600)
.allowedHeaders("*");
}
}