Skip to content

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

对于所有匹配的请求:

  1. 此配置会将 X-Response-Red:Blue Header 添加到下游响应的 Header 中。
  2. 对于 X-Response-Black,由于第三个参数设置为 false(不覆盖),如果响应中已经包含了 X-Response-Black Header,则不会添加 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}

Based on Spring Framework.