SpringGateway处理跨域
微服务在处理跨域时仅需要在网关添加 CorsWebFilter 即可,
如果浏览器还提示 CORS 那么请检查你的 response header,每种类型仅允许返回一个,不允许重复名称存在

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)@Beanpublic 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);}
}
