4. 配置路由谓词工厂和网关过滤工厂
有两种方法可以配置谓词和过滤器:快捷方式和完全扩展的参数。
下面的大多数示例都使用快捷方式。
名称和参数名称将在每个部分的第一句或第二句中作为代码列出。
参数通常按快捷方式配置所需的顺序列出。
4.1. 快捷方式配置
快捷方式配置由过滤器名称识别,后跟等号 (=
),后跟由逗号 (,
) 分隔的参数值。
- application.yml
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
predicates:
- Cookie=mycookie,mycookievalue
前面的示例使用两个参数定义了 Cookie 路由谓词工厂,即 cookie 名称、mycookie 和匹配 mycookievalue 的值。
4.2. 完全展开的参数
完全扩展的参数看起来更像是带有名称/值对的标准 yaml 配置。
通常,会有一个名称键和一个 args 键。
args 键是键值对的映射,用于配置谓词或过滤器。
- application.yml
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
predicates:
- name: Cookie
args:
name: mycookie
regexp: mycookievalue
这就是上面显示的 Cookie 谓词的快捷配置的完整配置。
参考资料
https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#configuring-route-predicate-factories-and-gateway-filter-factories