配置
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 實現。