SpringGateway处理跨域

微服务在处理跨域时仅需要在网关添加 CorsWebFilter 即可,

如果浏览器还提示 CORS 那么请检查你的 response header,每种类型仅允许返回一个,不允许重复名称存在

java 复制代码
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.util.pattern.PathPatternParser;

@Configuration
public class CorsConfig {
    private static final String ALL = "*";

    @Order(Ordered.HIGHEST_PRECEDENCE)
    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        // cookie跨域
        config.setAllowCredentials(Boolean.TRUE);
        config.addAllowedMethod(ALL);
        config.addAllowedOriginPattern(ALL);
        config.addAllowedHeader(ALL);
        // 配置前端js允许访问的自定义响应头
        config.addExposedHeader("setToken");

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config);

        return new CorsWebFilter(source);
    }
}
相关推荐
m0_481147332 分钟前
拦截器跟过滤器的区别?拦截器需要注册吗?过滤器需要注册吗?
java
lili-felicity4 分钟前
CANN性能调优与实战问题排查:从基础优化到排障工具落地
开发语言·人工智能
Coder_Boy_5 分钟前
基于SpringAI的在线考试系统-相关技术栈(分布式场景下事件机制)
java·spring boot·分布式·ddd
独自破碎E6 分钟前
【BISHI15】小红的夹吃棋
android·java·开发语言
冻感糕人~8 分钟前
【珍藏必备】ReAct框架实战指南:从零开始构建AI智能体,让大模型学会思考与行动
java·前端·人工智能·react.js·大模型·就业·大模型学习
啦啦啦_999913 分钟前
Redis实例-2
java
alice--小文子18 分钟前
cursor-mcp工具使用
java·服务器·前端
进阶小白猿19 分钟前
Java技术八股学习Day33
java·开发语言·学习
程序员敲代码吗25 分钟前
如何通过命令行启动COMSOL的参数化、批处理和集群扫描
java·c#·bash
MX_935930 分钟前
Spring的bean工厂后处理器和Bean后处理器
java·后端·spring