在 Gateway 中,配置路由断言工厂和网关过滤器有两种方法:快捷方式和完全展开参数方式,下面将分别介绍这两种方式。
快捷配置方式是由过滤器名称、等号 (=) 和用逗号(,)分隔的参数值组成。例如:
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
# 关注这里
predicates:
- Cookie=mycookie,mycookievalue上面示例使用两个参数定义了 Cookie 路由断言工厂,即 cookie 名称 mycookie 和 cookie 值 mycookievalue。
注意:后续文档默认将采用快捷方式配置,也推荐采用该种方式。
完全展开的参数看起来更像带有名/值对的标准 yaml 配置。通常,会有一个 name 关键字和一个 args 关键字。args 关键字是键值对的映射,用于配置断言或过滤器。例如:
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
# 关注这里
predicates:
- name: Cookie
args:
name: mycookie
regexp: mycookievalue上面示例中,就是 Cookie 路由断言示例快捷方式配置的完整配置。