增加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
增加 gateway 依赖
增加配置类
@Configuration
public class CrosConfiguration {
@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);
}
}
在 gateway 我的项目中退出改配置类可解决跨域问题。
微服务环境中配置路由
# 路由的 id, 没有规定规定但要求惟一, 倡议配合服务名
spring.cloud.gateway.routes[2].id=service-user
#匹配后提供服务的路由地址,在微服务环境中为 lb: 服务名,其余环境能够是具体域名或 ip
spring.cloud.gateway.routes[2].uri=lb://service-user
#匹配规定,上面为申请门路中带 user
spring.cloud.gateway.routes[2].predicates= Path=/*/user/**
例如 gateway 服务于 8081 端口启动,localhost:8081/api/user/getname
这个申请会被转发到 service-user/api/user/getname
。