一、背景

最开始项目计划的是通过Nginx进行转发,且配置了跨域请求。后来又改变了部署方式,所以得通过项目自身来进行一下跨域处理。

1)何为跨域?

URL的一般格式: 协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址

一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域

二、跨域配置

1)局部跨域

直接在想要跨域的类上配置@CrossOrigin注解即可满足本类的所有方法都可以实现跨域。

我们还可以在@CrossOrigin后方直接配置指定域名才可以访问。
比如:@CrossOrigin(“https://blog.csdn.net/huo065000/”)

2)全局跨域

直接实现WebMvcConfigurer或者继承WebMvcConfigurationSupport,然后重写addCorsMappings配置相关即可。

 @Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOriginPatterns("*").allowedHeaders("*").allowedMethods("*").allowCredentials(true).maxAge(3600);log.info("web mvc cors config ok");}

三、自测跨域是否成功

直接F12打开你配置的指定域名链接或者随便一个,然后在console页面直接输入如下:

var token= “”;
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, ‘http://localhost:7701/api/open/platform/train/info/getTrainList?trainType=1’);
xhr.setRequestHeader(“x-access-token”,token);
xhr.send(null);
xhr.onload = function(e) {var xhr = e.target;console.log(xhr.responseText);}

配置成功页面如下:

未配置的请求结果如下:

四、总结

配置千千万,找到适合自己项目的即可。拦截器也可以实现跨域。下篇讲述重写WebMvcConfigurationSupport的addCorsMappings全局跨域不生效的情况。

SpringBoot 处理跨域请求相关推荐

  1. springboot +element-axios跨域请求

    1.初始化element项目 1.1:vue init webpage '项目名称' 1.2:npm i element-ui -S 1.3:在main.js添加 import ElementUI f ...

  2. SpringBoot允许跨域请求

    在前后端分离的架构中,允许跨域请求是一个很重要的设置.SpringBoot项目中允许跨域请求比较简单,只需要我们定义好配置类即可. 在com.example.csdn.config包里面创建CorsC ...

  3. 【springboot】【若依(ruoyi)】@RestController 接口跨域请求

    前言 springboot 2.1.1.RELEASE 360极速浏览器 12.0.1476.0 (正式版本) (32 位) jquery 3.5.0 接口跨域请求有两者方式: jsonp CORS ...

  4. SpringBoot跨域请求

    在软件开发过程中,尤其是现在的前后端分离开发,跨域请求是很普通的事情,我这个只是简单的将所有的跨域请求都接受,如若有大佬有更好的解决方案欢迎分享 问题: 在请求的时候,前端使用js进行ajax请求未能 ...

  5. SpringBoot2.1.5 (22)--- SpringBoot设置支持跨域请求

    SpringBoot2.1.5 (22)--- SpringBoot设置支持跨域请求 现代浏览器处于安全的考虑,在http/https请求时必须遵守同源策略,否则即使跨域的http/https 请求, ...

  6. Ajax调用springboot接口,Springboot解决ajax+自定义headers的跨域请求问题.pdf

    Springboot解解决决ajax+自自定定义义headers的的跨跨域域请请求求问问题题 1..什什么么是是跨跨域域 由于浏览器同源策略 (同源策略,它是由Netscape提出的一 著名的安全策略 ...

  7. yii2 跨域请求配置_如何在SpringBoot应用中实现跨域访问资源和消息通信?

    允许跨域访问 CORS ( Cross Origin Resource Sharing,跨域资源共享)机制允许Web应用服务器进行跨域访问控制,从而使跨域数据传输得以安全进行.浏览器支持在API容器中 ...

  8. springboot实现ajax跨域请求

    有段时间没写文章了.看到有人提问ajax跨域请求的问题. 博主要再次强调,跨域,就是从不同的的IP端口获取数据,比如说,从www.baidu.com获取数据,就叫跨域!那么localhost:8080 ...

  9. SpringBoot设置允许跨域请求

    跨域 一个资源会发起一个跨域HTTP请求(Cross-site HTTP request), 当它请求的一个资源是从一个与它本身提供的第一个资源的不同的域名时 .比如说,域名A(http://doma ...

最新文章

  1. u盘装sun服务器系统,U盘多引导ISO系统安装
  2. Irvine64链接库过程的使用说明 Microsoft x64 调用规范 添加Irvine64.obj 64位链接库错误及解决方法
  3. springboot 访问html_Spring Boot中使用Spring Security进行安全控制
  4. 服务器遍历文件夹不按顺序,绕过遍历检查 (Windows 10) - Windows security | Microsoft Docs...
  5. Java ObjectInputStream close()方法与示例
  6. 阿里之后 “安卓终结者”来了!
  7. python如何保存列表_python中数据的保存
  8. UE4源码下载与配置sin文件
  9. C语言课程设计——25道蓝桥杯练习题
  10. python对seo有什么用_python对seo的帮助 – python对seo的帮助是什么?- 企业服务
  11. 调试基础知识0(串口调试助手对比 丁丁 大傻 友善)
  12. 三个月通过信息系统项目管理师经验帖(2021年11月,新鲜出炉,高项详解)
  13. LVGL官方文档-7.11.0-5-Porting-Input device interface
  14. 蓝桥杯试题:求数差(简单易懂无脑)java
  15. 每日一题——分发糖果
  16. matlab火箭模型,基于Matlab/Simulink的新型火箭建模与仿真平台搭建
  17. 回归预测分析(RANSAC、多项式回归、残差图、随机森林)
  18. 浏览器低延时播放监控摄像头RTSP海康大华硬盘录像机NVR视频(EasyNVR播放FLV视频流)
  19. 网络空间安全是指什么/网络空间安全是怎么产生的
  20. 【亚稳态、建立时间和保持时间】亚稳态的产生原因、危害及解决方法

热门文章

  1. windows中修改默认浏览器
  2. android keycode 方向键,android KEYCODE列表
  3. Java基础(29)线程与进程、并发与并行、多线程的三种启动方式、买票案例
  4. 2015年网络红包攻略
  5. 东软2020始业教育 答案
  6. Linux:虚拟机新建网卡并手动设置ip地址
  7. 行内元素有哪些?块级元素有哪些? 空(void)元素有那些?行内元素和块级元素有什么区别?
  8. 软件项目管理考点整理(Software Project Management)
  9. python按位取反(~)
  10. AJAX框架衣柜收纳技巧,衣柜太乱神烦?几招教你轻松收纳整理