4. 配置路由谓词工厂和网关过滤器工厂
配置断言和过滤器有两种方式:快捷方式和完整展开的参数。下面大多数示例均使用快捷方式。
名称和参数名称将列在每个部分的首句或前两句中,作为 code。参数通常按快捷配置所需顺序列出。
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 配置,包含名称/值对。通常会有一个 name 键和一个 args 键。而 args 键是一个键值对的映射,用于配置谓词(predicate)或过滤器(filter)。
application.yml
spring:
cloud:
gateway:
routes:
- id: after_route
uri: https://example.org
predicates:
- name: Cookie
args:
name: mycookie
regexp: mycookievalue
这是上述Cookie谓词快捷配置的完整配置。