Spring Cloud Gateway组件的配置可以通过配置文件或者编码的方式进行。
在配置文件中,可以使用以下属性进行配置:
例如,以下是一个简单的配置文件示例:
server:
port: 8080
spring:
application:
name: gateway
spring:
cloud:
gateway:
routes:
- id: route1
uri: http://localhost:8001
predicates:
- Path=/api/**
- id: route2
uri: http://localhost:8002
predicates:
- Path=/hello/**
filters:
- AddRequestHeader=X-Request-Id, 12345
上述配置表示,将匹配/api/**
路径的请求转发到http://localhost:8001
,将匹配/hello/**
路径的请求转发到http://localhost:8002
,同时在转发请求时添加一个名为X-Request-Id
、值为12345
的Header。
如果需要使用编码的方式进行配置,可以使用@Bean
注解创建一个RouteLocator
的实例,并通过其API进行配置。
例如:
@Configuration
public class GatewayConfig {
@Bean
public RouteLocator myRoutes(RouteLocatorBuilder builder) {
return builder.routes()
.route("route1", r -> r.path("/api/**")
.uri("http://localhost:8001"))
.route("route2", r -> r.path("/hello/**")
.filters(f -> f.addRequestHeader("X-Request-Id", "12345"))
.uri("http://localhost:8002"))
.build();
}
}
上述代码创建了一个名为myRoutes
的路由规则,将匹配/api/**
路径的请求转发到http://localhost:8001
,将匹配/hello/**
路径的请求转发到http://localhost:8002
,并在转发请求时添加一个名为X-Request-Id
、值为12345
的Header。