SpringBoot和app之间跨域问题

前端访问端口显示

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.

解决办法

需要配置相关的config文件

这里我在config文件里面新建一个CrossConfig类

@Configuration
public class CrossConfig implements WebMvcConfigurer {

    /**
     * 配置跨域请求
     * @param registry
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")//指定路径
                .allowCredentials(true)//带上cookie信息
                .allowedHeaders("*")//允许任何请求头
                /**
                 * 默认情况下,所有的域名都是允许的
                 */
                .allowedOrigins("http://localhost:8080")
                /**
                 * *设置HTTP方法为允许,例如{"GET"}, {"POST"}等。
                 * 默认“简单”方法{@code GET}, {@code HEAD},和{@code POST}
                 * *是允许的。
                 */
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                /**
                 * 配置飞行前请求的响应时间(秒)
                 * 可以被客户端缓存。
                 * 默认为1800秒(30分钟)。
                 */
                .maxAge(3600);
    }
}

重启服务

跳转页面就不报跨域问题了

原文地址:https://www.cnblogs.com/rzkwz/p/14360075.html