spring boot 跨域问题之CORS

什么是CORS?

CORS(Cross-Origin Resource Sharing)“跨域资源共享”,是一个W3C标准,它允许浏览器向跨域服务器发送Ajax请求,打破了Ajax只能访问本站内的资源限制。

遇到的问题:

前端调用我后端接口的时候,报如下错误:

Access to XMLHttpRequest at 'http://0.0.0.0:8012/testApi/createToken?userId=132456' from origin 'http://0.0.0.0:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

意思就是:前端的请求被CORS阻止了,请求的资源不包含指定的请求头。

解决方案:

在你的配置包里加个这个类

/** 
 * 解决跨域问题
 * 
 * @author  lk
 * @Date 2019/12/20  11:35 
 */
@Configuration
public class CorsConfig extends WebMvcConfigurationSupport {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 配置可以被跨域的路径,可以任意配置,可以具体到直接请求路径。
                .allowedMethods("*") // 允许所有的请求方法访问该跨域资源服务器,如:POST、GET、PUT、DELETE等。
                .allowedOrigins("*") // 允许所有的请求域名访问我们的跨域资源,可以固定单条或者多条内容,
                                     //  如:“http://www.aaa.com”,只有该域名可以访问我们的跨域资源。
                .allowedHeaders("*"); // 允许所有的请求header访问,可以自定义设置任意请求头信息。
        super.addCorsMappings(registry);
    }
}
发布了214 篇原创文章 · 获赞 281 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/lk1822791193/article/details/103688340