Spring Cloud 学习笔记四:服务网关(Gateway)
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("/get")
.uri("http://httpbin.org"))
.route("host_route", r -> r.host("*.myhost.org")
.uri("http://httpbin.org"))
.route("rewrite_route", r -> r.host("*.rewrite.org")
.filters(f -> f.rewritePath("/foo/(?<segment>.*)", "/${segment}"))
.uri("http://httpbin.org"))
.build();
}
}
这段代码定义了一个自定义的路由配置类GatewayConfig
,其中包含了三个路由规则:
path_route
:匹配所有路径为/get
的请求,并将它们转发到http://httpbin.org
。host_route
:匹配所有主机名以myhost.org
结尾的请求,并将它们转发到http://httpbin.org
。rewrite_route
:匹配所有主机名以rewrite.org
结尾的请求,并通过rewritePath
过滤器重写路径。
这些路由规则使用了Spring Cloud Gateway的Java DSL配置方式,它们将被用于路由转发的基础配置。
评论已关闭