1.After Route谓词工厂:
匹配某一个时间点之后允许路由转发
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- After=2023-01-20T17:42:47.789-07:00[America/Denver]
2.Before Route谓词工厂:
匹配某一个时间之前之后允许路由转发
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- BEFORE=2023-01-20T17:42:47.789-07:00[America/Denver]
3.Between Route谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- BETWEEN=2023-01-20T17:42:47.789-07:00[America/Denver],2024-01-20T17:42:47.789-07:00[America/Denver]
4.Cookie Route谓词工厂:
predicates
是定义路由条件的部分,其中 - Cookie=cookieName, cookieValue
表示请求需要携带名为 cookieName
值为 cookieValue
的Cookie才会匹配该规则。
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- Cookie=chocolate, ch.p
5.Header Route谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- Header=X-Request-Id, \d+
6.主机路由谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- Host=**.somehost.org,**.anotherhost.org
7.方法路由谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- Method=POST,GET
8.路径路由谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- Path=/red/{segment},/blue/{segment}
9.查询路由谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- Query=red
10.RemoteAddr 路由谓词工厂:
gateway:
discovery:
locator:
enabled: true
routes:
- id: consumer
uri: https://consumer-service
predicates:
- RemoteAddr=192.168.1.1/24