SpringCloud (包含zuul) 解决跨域请求的方案
2019-01-30 18:37
573 查看
POST和GET的跨域请求解决:
归根结底就是解决这个问题:Access-Control-Allow-Origin
一:在项目下添加该配置类
该方法相对过时
[code]@Configuration @EnableWebMvc public class CorsConfig implements WebMvcConfigurer { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**"); } }; } }
二:获取response响应对象,在响应头里边添加Access-Control-Allow-Origin响应头
[code]/* * import javax.servlet.http.HttpServletResponse; */ // 允许跨域访问的域名:若有端口需写全(协议+域名+端口),若没有端口末尾不用加'/' response.setHeader("Access-Control-Allow-Origin", "*"); // 允许前端带认证cookie:启用此项后,上面的域名不能为'*',必须指定具体的域名,否则浏览器会提示 response.setHeader("Access-Control-Allow-Credentials", "true"); // 提示OPTIONS预检时,后端需要设置的两个常用自定义头 response.setHeader("Access-Control-Allow-Headers", "Content-Type,X-Requested-With");
三:使用拦截器(Interceptor)或者过滤器(Filter),类似于SpringCloud中的zuul设置
[code] 没有具体代码
注意:在SpringCloud项目中,尤其是包含网关zuul的,一般跨域问题都在zuul中解决了,这时候如果在服务中心再次添加Access-Control-Allow-Origin相关权限设置就会报multiple 多跨域方案的报错:
[code]Failed to load http://xxx.yyy.zzz.com/zuul设置/controller接口path: The 'Access-Control-Allow-Origin' header contains multiple values 'http://xxx.yyy.zzz.com, *', but only one is allowed. Origin 'http://xxx.yyy.zzz.com' is therefore not allowed access.
PUT跨域请求:
暂未解决,临时使用post代替....如有大神烦请告知-_-,谢谢~
开发落坑,引以为鉴!
相关文章推荐
- springcloud项目网关升级:gateway替代zuul以及解决gateway跨域访问问题
- Spring Cloud 学习(六)路由请求转发和安全过滤之Zuul组件(F版)
- ajax请求接口跨域问题解决方案(控制器加header头)
- spring cloud zuul 配置请求并发
- springcloud 中 zuul 如何修改请求参数
- Spring Cloud (6) | spring cloud zuul 跨域问题No 'Access-Control-Allow-Origin' header
- Spring boot 完美解决ajax跨域请求问题
- Spring Cloud项目前后端分离跨域问题解决
- ajax请求的时候解决跨域问题,不用spring的responsBody
- java Spring后台如何解决跨域请求
- 详解Spring Boot 2.0.2+Ajax解决跨域请求的问题
- Ajax异步请求RESTFUL API之跨域问题解决方案
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十二):解决跨域问题
- SpringCloud 上传文件,经过Zuul,中文文件名乱码解决办法
- spring cloud zuul修改请求url的方法
- Spring解决跨域请求的两种办法
- Spring3使用CORS解决跨域请求的配置
- spring cloud中解决Fegion第一次请求timeout的问题
- AJAX请求跨域问题解决方案
- springcloud 中 zuul 修改请求参数信息的方法