Spring Cloud Gateway組件的配置可以通過配置文件或者編碼的方式進(jìn)行。
在配置文件中,可以使用以下屬性進(jìn)行配置:
例如,以下是一個簡單的配置文件示例:
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/**
路徑的請求轉(zhuǎn)發(fā)到http://localhost:8001
,將匹配/hello/**
路徑的請求轉(zhuǎn)發(fā)到http://localhost:8002
,同時在轉(zhuǎn)發(fā)請求時添加一個名為X-Request-Id
、值為12345
的Header。
如果需要使用編碼的方式進(jìn)行配置,可以使用@Bean
注解創(chuàng)建一個RouteLocator
的實(shí)例,并通過其API進(jìn)行配置。
例如:
@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();
}
}
上述代碼創(chuàng)建了一個名為myRoutes
的路由規(guī)則,將匹配/api/**
路徑的請求轉(zhuǎn)發(fā)到http://localhost:8001
,將匹配/hello/**
路徑的請求轉(zhuǎn)發(fā)到http://localhost:8002
,并在轉(zhuǎn)發(fā)請求時添加一個名為X-Request-Id
、值為12345
的Header。