在 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 路由断言示例快捷方式配置的完整配置。