AddResponseHeader GatewayFilter 工厂
AddResponseHeader GatewayFilter 工厂接受三个参数:name(名称)、value(值)和 override(是否覆盖,默认值为 true)。
以下示例配置了一个 AddResponseHeader GatewayFilter:
application.yml
yaml
spring:
cloud:
gateway:
routes:
- id: add_response_header_route
uri: https://example.org
filters:
- AddResponseHeader=X-Response-Red, Blue
- AddResponseHeader=X-Response-Black, White, false对于所有匹配的请求:
- 此配置会将
X-Response-Red:BlueHeader 添加到下游响应的 Header 中。 - 对于
X-Response-Black,由于第三个参数设置为false(不覆盖),如果响应中已经包含了X-Response-BlackHeader,则不会添加X-Response-Black: White;否则会添加。
AddResponseHeader 能够感知用于匹配路径或主机的 URI 变量。 URI 变量可以在 value 中使用,并在运行时进行扩展。
以下示例配置了一个使用变量的 AddResponseHeader GatewayFilter:
application.yml
yaml
spring:
cloud:
gateway:
routes:
- id: add_response_header_route
uri: https://example.org
predicates:
- Host={segment}.myhost.org
filters:
- AddResponseHeader=foo, bar-{segment}