本文从源码层面分析如何给项目中不同请求地址设置不同跨域属性

这里不再解释什么是跨域,概念问题自己去了解。本文介绍两种实现方式:

1、使用@CrossOrigin注解

2、重写AbstractHandlerMapping.getCorsConfiguration方法

其中方式1实现更简单,易操作。方式2实现稍麻烦,但是使用更加灵活,下面我们看下源码怎么分别实现上面两种方式:

1、如下,通过一个简单的demo演示这个注解作用过程

SpringBoot -- 跨域设置

我们启动项目,通过断点方式查看

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

2、方式2需要自定义自己的HandlerMapping继承AbstractHandlerMapping

SpringBoot -- 跨域设置

SpringBoot -- 跨域设置

重写getCorsConfiguration方法,方法实现可以根据不同url定义自己的跨域配置。

方式2实现稍复杂,需要熟悉springmvc请求处理流程

 

 

 

 

相关文章:

  • 2021-08-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-06
  • 2022-12-23
猜你喜欢
  • 2022-03-10
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2022-01-13
  • 2021-08-25
相关资源
相似解决方案