使用Spring Cloud Gateway构建API网关,实现路由、过滤、流量控制等功能。
import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class GatewayConfig {
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
return builder.routes()
.route("path_route", r -> r.path("/api/**")
.uri("http://localhost:8081")
.id("api_route")
)
.route("host_route", r -> r.host("*.myhost.org")
.uri("http://localhost:8082")
.id("host_route")
)
.build();
}
}
这段代码定义了一个名为GatewayConfig
的配置类,其中使用RouteLocatorBuilder
定义了两条路由规则:
path_route
:将匹配所有路径为/api/**
的请求,并将它们转发到http://localhost:8081
。host_route
:将匹配所有 host 名为*.myhost.org
的请求,并将它们转发到http://localhost:8082
。
这个例子展示了如何使用Spring Cloud Gateway的路由功能,并根据路径或主机名进行请求的分发。在实际部署时,你需要根据自己的需求调整路由的条件和目的地URI。
评论已关闭