GatewayFilter Factories

路由过滤器允许以某种方式修改传入的HTTP请求或传出的HTTP响应。路由过滤器的作用域是特定的路由。Spring Cloud Gateway包括许多内置的网关过滤器工厂。

有关如何使用以下过滤器的更详细示例,请查看单元测试

1.The AddRequestHeader GatewayFilter Factory

AddRequestHeader GatewayFilter工厂接受一个namevalue 参数。下面的例子配置AddRequestHeader GatewayFilter:

例 13. application.yml

  1. spring:
  2. cloud:
  3. gateway:
  4. routes:
  5. - id: add_request_header_route
  6. uri: https://example.org
  7. filters:
  8. - AddRequestHeader=X-Request-red, blue

此清单将X-Request-red:blue 标头添加到所有匹配请求的下游请求标头。

AddRequestHeader中能够使用用于匹配路径或主机的URI变量。URI变量可以在值中使用,并在运行时展开。下面的例子配置了一个AddRequestHeader GatewayFilter,它使用了一个变量:

例 14. application.yml

spring:
  cloud:
    gateway:
      routes:
      - id: add_request_header_route
        uri: https://example.org
        predicates:
        - Path=/red/{segment}
        filters:
        - AddRequestHeader=X-Request-Red, Blue-{segment}