spring boot后端解决跨域问题的几种方法

跨域的产生
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。
解决跨域的方式有很多比如Nginx代理 ,vue配置代理接口,或者在后端框架中进行一些配置。
----------------------------------------------------------------------------------------------------------------
解决方案
1.使用注解
在controller 类上加上@CrossOrigin注解,就能对该类下的接口进行跨域访问,从而解决跨域问题,但是这中方法在接口比较多的情况下是比较繁琐的,所以不推荐!

2.重写addCorsMappings
方法(使用较多)

3.第三种:添加CORS过滤器
新建配置类CorsConfig,创建CorsFilter
过滤器,允许跨域