SpringBoot跨域问题

本文详细介绍了跨域请求的问题,包括简单跨域和复杂跨域的处理机制。简单跨域取决于服务端配置,而复杂跨域则需要预检请求。提供了两种SpringBoot解决跨域问题的方法:全局配置 CORS 或者接口级别的@CrossOrigin注解。建议阅读相关文章以深入了解CORS和SpringBoot的跨域配置。
摘要由CSDN通过智能技术生成

协议、域名、端口号 有一个不一样就会发生跨域问题,跨域请求分为 简单跨域请求复杂跨域请求

简单跨域请求浏览器能直接发出,但能不能跨成功要看服务端的配置

复杂跨域请求浏览器会先发送预检请求,请求方法options,如果服务端的配置允许跨域,则浏览器发送真实的请求;如果服务端的配置不允许跨域,浏览器就报跨域错误

解决方案:

  • 方案1:实现implements WebMvcConfigurer接口,重写addCorsMappings()方法,全局统一管理

    ``` @Configuration public class WebMVCConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedOrigins("http://localhost:8080");
    }

    } ```

  • 方案2:在请求接口上加@CrossOrigin注解,本质是在response里面添加响应头Access-Control-Allow-Origin:*,可以配个拦截器,在response里面自己添加

相关文章:

跨域资源共享CORS详解 - 阮一峰

Springboot解决项目中跨域问题

Java技术江湖—实现跨域的5种解决方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值