Spring|Spring WebFlux (8): 处理跨域请求cors设置
前后端分离访问api会出现跨域资源共享(CORS)问题,webflux框架处理cors主要四种方法:
- 处理方法设置注释@CrossOrigin
- controller上设置@CrossOrigin
- 设置cors的configuration文件
- 设置cors的Webfilter
1. 方法标注@CrossOrigin 在需要开放资源的方法上面注释CrossOrigin即可:
![Spring|Spring WebFlux (8): 处理跨域请求cors设置](https://img.it610.com/image/info8/bac26917e74c42bf995c3ab923c48bab.jpg)
文章图片
@CrossOrigin注释的设置具有如下的默认配置:
- 允许所有来源
- 允许所有请求头
- 允许所有请求方法
- maxAge为1800秒
【Spring|Spring WebFlux (8): 处理跨域请求cors设置】
![Spring|Spring WebFlux (8): 处理跨域请求cors设置](https://img.it610.com/image/info8/c52719ba0e00430185a9bc9bdd678c69.jpg)
文章图片
3. 全局配置上设置CORS 通过覆盖WebFluxConfigurer实现的addCorsMappings()方法来定义全局CORS配置:
![Spring|Spring WebFlux (8): 处理跨域请求cors设置](https://img.it610.com/image/info8/de9b03d82e7542948fb93944f7737250.jpg)
文章图片
对于局部设置和全局设置,局部优先于全局
4. WebFilter Spring提供了内置的CorsWebFilter, 可以直接@Bean注入即可,不过不能与更细粒度的*@CrossOrigin* 配置结合使用 。
![Spring|Spring WebFlux (8): 处理跨域请求cors设置](https://img.it610.com/image/info8/14b7b0d8002944e1a97f2d160f9557d9.jpg)
文章图片
推荐阅读
- Activiti(一)SpringBoot2集成Activiti6
- SpringBoot调用公共模块的自定义注解失效的解决
- Java|Java OpenCV图像处理之SIFT角点检测详解
- 解决SpringBoot引用别的模块无法注入的问题
- 事件处理程序
- 2018-07-09|2018-07-09 Spring 的DBCP,c3p0
- 爬虫数据处理HTML转义字符
- Android|Android BLE蓝牙连接异常处理
- spring|spring boot项目启动websocket
- Spring|Spring Boot 整合 Activiti6.0.0