关于Gateway网关中配置跨域的三种方案
更新时间:2024年11月16日 09:52:48 作者:龙茶清欢
文章总结:介绍了三种处理跨域请求的方法:在Controller类上添加注解、通过配置类实现重写WebMvcConfigurer接口和在配置文件中统一设置,希望这些方法能帮助读者解决跨域问题
Gateway网关中配置跨域的三种方案
方法一
直接在每个Controller类上添加跨域注解
@CrossOrigin
方法二
通过配置类统一处理
@Configuration
public class CorsConfig {
// 该配置适用于reactive响应式环境
@Bean
public CorsWebFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOrigin("*");
config.addAllowedHeader("*");
// springboot升级成2.4.0以上时对AllowedOrigin设置发生了改变,不能有”*“,可以替换成AllowedOriginPattern
config.addAllowedOriginPattern("*");
config.setAllowCredentials(true);
// 必须是reactive包下的UrlBasedCorsConfigurationSource
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
source.registerCorsConfiguration("/**", config);
return new CorsWebFilter(source);
// 该配置适用于servlet环境
@Bean
public CorsFilter corsFilter() {
//1. 添加 CORS配置信息
CorsConfiguration config = new CorsConfiguration();
//放行哪些请求方式
config.addAllowedMethod("*");
//放行哪些原始请求头部信息
config.addAllowedHeader("*");
//放行哪些原始域
config.addAllowedOriginPattern("*");
//是否发送 Cookie
config.setAllowCredentials(true);
//2. 添加映射路径
UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource();
corsConfigurationSource.registerCorsConfiguration("/**",config);
//3. 返回新的CorsFilter
return new CorsFilter(corsConfigurationSource);
}重写WebMvcConfigurer接口的默认方法
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*")
.allowedHeaders("*")
.allowedOriginPatterns("*")
.allowCredentials(true);
}
}方法三
在配置application.properties或者application.yml文件中进行统一配置
spring:
cloud:
gateway:
globalcors:
cors-configurations:
'[/**]':
allowedMethods: "*"
allowedHeaders: "*"
allowedOriginPatterns: "*"
allowCredentials: true总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringCloud添加客户端Eureka Client过程解析
这篇文章主要介绍了SpringCloud添加客户端Eureka Client过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-03-03
解决SpringMvc后台接收json数据中文乱码问题的几种方法
本篇文章主要介绍了解决SpringMvc后台接收json数据中文乱码问题的几种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-01-01
java.nio.file.WatchService 实时监控文件变化的示例代码
在 Java 语言中,从 JDK7 开始,新增了java.nio.file.WatchService类,用来实时监控文件的变化,这篇文章主要介绍了java.nio.file.WatchService 实时监控文件变化,需要的朋友可以参考下2022-05-05
Java中关于MouseWheelListener的鼠标滚轮事件详解
这篇文章主要介绍了Java中关于MouseWheelListener的鼠标滚轮事件详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12


最新评论