?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: ?*?java项目www.fhadmin.org ?*/ @Configuration public?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:?‘*‘
原文:https://blog.51cto.com/u_14622073/2869883