前后端分离面临的必然问题就是跨域
很多小伙伴在开发的时候用Postman之类的接口工具去测试都通的接口,交给前端去做浏览器测试的时候,就失败了。主要原因是,同源策略这个东西本身就是浏览器的搞出来的,跟传输,服务,页面都没啥关系,仅仅是浏览器自己觉得自己有责任去管理,所以搞出来的东西。因此,像postman 或者 apifox之类的接口软件是体会不到的。
很多前端的同学想尽办法去解决跨域,殊不知跨域完全应该是后端来处理的东西
所谓的跨域,就是服务器端配置header,来通知浏览器,允许哪个地址的页面来请求我的资源,仅此而已。
跨域通常分为三个部分的内容:
第一部分:注解方式解决跨域
以SpringBoot 的注解为例,直接加上@CrossOrigin(origins = "*",allowedHeaders = "*")
注解即可,用*
来表示所有的前端地址和所有的Header信息。
第二部分:WebMvcConfigurer 配置方式解决跨域
@Slf4j
@Configuration
public c