配置
Spring Cloud Gateway 的配置由一系列 RouteDefinitionLocator 实例驱动。以下列表显示了 RouteDefinitionLocator 接口的定义
RouteDefinitionLocator.java
public interface RouteDefinitionLocator {
Flux<RouteDefinition> getRouteDefinitions();
}
默认情况下,PropertiesRouteDefinitionLocator 使用 Spring Boot 的 @ConfigurationProperties 机制加载属性。
前面的配置示例都使用了快捷方式表示法,该表示法使用位置参数而不是命名参数。以下两个示例是等效的
application.yml
spring:
cloud:
gateway:
routes:
- id: setstatus_route
uri: https://example.org
filters:
- name: SetStatus
args:
status: 401
- id: setstatusshortcut_route
uri: https://example.org
filters:
- SetStatus=401
对于网关的某些用法,属性是足够的,但一些生产用例受益于从外部源(例如数据库)加载配置。未来的里程碑版本将提供基于 Spring Data Repositories(例如 Redis、MongoDB 和 Cassandra)的 RouteDefinitionLocator 实现。