gateway 跨域问题解决方案
1.写个配置类CorsConfig (如果不行,可以不写此类,和springcloud的版本有关)
package net.youqu.micro.service.config; import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;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; /** * description:跨域配置类 * from www.fhadmin.org */@Configurationpublic class CorsConfig { @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedMethod("*"); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); source.registerCorsConfiguration("/**", config); return new CorsWebFilter(source); }}
2. 配置 application.properties 方式
#--------gateway配置--------#跨域配置spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedOrigins=*spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedHeaders=*spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowedMethods=*spring.cloud.gateway.globalcors.corsConfigurations.[/**].allowCredentials=true
yaml 方式
spring: cloud: gateway: globalcors: corsConfigurations: '[/**]': allowCredentials: true allowedHeaders: '*' allowedMethods: '*' allowedOrigins: '*'
赞 (0)