我们知道协议、域名、端口其中有一项不同,与路径不同无关,则为不同源,不同源的URL发送请求则为跨域请求。在浏览器中跨域采用同源策略。同源策略不仅是前端的问题。
传统的方法是通过jsonp,或者JS的
JSONP 虽然能解决跨域但是有一个很大的局限性,那就是只支持 GET 请求,不支持其他类型的请求。
这里我们在SpringBoot中使用CORS来解决同源策略
CORS(跨域源资源共享)(CORS,Cross-origin resource sharing)是一个 W3C 标准,一份浏览器技术的规范,提供了 Web 服务从不同网域传来沙盒脚本的方法,以避开浏览器的同源策略,这是 JSONP 模式的现代版。
主要的是这里是两个不同的项目,因为它们在要不同端口进行。
两种方式:
1.给每个controller都加上注解,指定它能接受的地址请求。
/*** @author ZSL* @ClassName MyController* @description* @date 2019/8/9*/
@RestController
public class MyController {@GetMapping("/gethello")@CrossOrigin(value = {"http://localhost:8084","http://localhost:8081"})public String getCors(){return "getCors";}@PostMapping("/posthello")@Cr