springboot项目跨域问题解决

单个配置跨域

添加注解@Crossorigin实现微粒级跨域

全局配置

  • 新建Webconfig类

  • //全局配置注解
    @Configuration
    //可采用@Crossorigin;实现微粒级跨域,全局跨域配置如下:
    public class WebConfig implements WebMvcConfigurer {
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowedMethods("GET", "POST", "DELETE", "PUT", "OPTIONS")
                    .allowedHeaders("*")
                    .maxAge(3600 * 24);
        }
    }
    

    函数说明:

    addMapping:配置可被跨域访问的路径,'*'表示任意路径,也可以具体到直接请求路径。
    allowedOrigins:允许所有的请求域名访问我们的跨域资源,可以固定单条或者多条内容,"http://localhost:8088","null"
        如果出现如下异常
        `Caused by: java.lang.IllegalArgumentException: 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.`
    将allowedOrigins换成allowedOriginPatterns:
    allowCredentials: 响应头表示是否可以将对请求的响应暴露给页面。返回true则可以,其他值均不可以
    注意allowedOrigins(“*”):与allowCredentials(true)冲突
    allowedMethods:允许输入参数的请求方法访问该跨域资源服务器,如:POST、GET、PUT、OPTIONS、DELETE等。
    allowedHeaders:'*'允许所有的请求header访问,也可以自定义设置任意请求头信息
    maxAge:配置客户端缓存预检请求的响应的时间(以秒为单位)。默认设置为1800秒(30分钟)。
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值