Spring Cloud Gateway 网关路由
在Spring Cloud Gateway中,我们可以通过配置文件或者配置中心来定义路由规则。以下是一个简单的配置示例,展示了如何使用配置文件来定义路由规则。
spring:
cloud:
gateway:
routes:
- id: user-service
uri: http://localhost:8081
predicates:
- Path=/user/**
- id: order-service
uri: http://localhost:8082
predicates:
- Path=/order/**
在这个配置中,我们定义了两个路由。第一个路由将匹配所有到/user/**
的请求,并将请求转发到http://localhost:8081
。第二个路由将匹配所有到/order/**
的请求,并将请求转发到http://localhost:8082
。
如果你想要通过代码来配置路由,可以使用Java配置类来实现。以下是一个Java配置类的示例:
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("user-service", r -> r.path("/user/**")
.uri("http://localhost:8081"))
.route("order-service", r -> r.path("/order/**")
.uri("http://localhost:8082"))
.build();
}
}
在这个配置中,我们定义了两个路由规则,一个是匹配所有以/user/
开头的路径,另一个是匹配所有以/order/
开头的路径,并将请求转发到相应的服务地址。
评论已关闭