本文从源码层面分析如何给项目中不同请求地址设置不同跨域属性
这里不再解释什么是跨域,概念问题自己去了解。本文介绍两种实现方式:
1、使用@CrossOrigin注解
2、重写AbstractHandlerMapping.getCorsConfiguration方法
其中方式1实现更简单,易操作。方式2实现稍麻烦,但是使用更加灵活,下面我们看下源码怎么分别实现上面两种方式:
1、如下,通过一个简单的demo演示这个注解作用过程
我们启动项目,通过断点方式查看
2、方式2需要自定义自己的HandlerMapping继承AbstractHandlerMapping
重写getCorsConfiguration方法,方法实现可以根据不同url定义自己的跨域配置。
方式2实现稍复杂,需要熟悉springmvc请求处理流程