过滤器 SetRequestHeader · SpringCloud微服务实战 · 看云

12. 过滤器 SetRequestHeader

导航

SetRequestHeader``GatewayFilter工厂采用namevalue参数。会把外部设置的同名name的值替换掉。

本节代码地址


12.1 应用配置

我们在配置中设置SetRequestHeader中的key,value用逗号隔开。最终可以看到不管请求的时候设置什么数据,都会已SetRequestHeader的值为主

server:
  port: 8699
spring:
  application:
    name: fw-gateways-gateway
  profiles:
    active: setrequestheader_route
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
---
spring:
  cloud:
    gateway:
      routes:
        - id: setrequestheader_route
          uri: lb://fw-cloud-ribbon-server
          predicates:
          - After=2020-01-08T18:30:11.965+08:00[Asia/Shanghai]
          filters:
          - SetRequestHeader=X-Request-Red, fwcloud
  profiles: setrequestheader_route

12.2 应用启动

可以看到我们设置的Header值是123456,实际返回的是fwcloud
59d3fd2422423b330f55399fac6c7e0b_MD5.webp

同样SetResponseHeader,会把返回的Header 设置为我们配置的值,配置稍改一下即可

---
spring:
  cloud:
    gateway:
      routes:
        - id: setrequestheader_route
          uri: lb://fw-cloud-ribbon-server
          predicates:
          - After=2020-01-08T18:30:11.965+08:00[Asia/Shanghai]
          filters:
          - SetResponseHeader=X-Request-Red, fwcloud
  profiles: setrequestheader_route