怎么解决前后端跨域?SpringBoot这几种方式可以解决

解决跨域请求的几种方式:
前提: 跨域异常是发生在前端的, 同源策略相关;
- 前端通过Ajax配置数据类型为 JSONP , 发送一个callback默认的随机值 , 作为秘钥传到后端 , 后端再次以JSONPObject将这个秘钥值返给前端 作为标识(相当于握手)
弊端: 只支持get请求 , 前后端都需要写响应代码 , 存在耦合
2.某一个接口需要跨域, 可使用注解 @CrossOrigin("http://xxxx:port") 在controller 接口方法上
3.批量支持某一批接口跨域
通过配置类 implements WebMvcConfigurer 实现 addCordMappings 方法配置 CorsRegistry
4.支持所有的接口跨域
配置中配置一个过滤器 方法 : CorsFilter 过滤器
CORS弊端: 也需要浏览器支持, 有时会出现option, 需要浏览器版本支持 (IE10以上)
5.Nginx 配置 (通过反向代理的方式 , 推荐)
优点: 不需要在前端和后端写相关配置代码