SpringCloudGateway 学习笔记 - 使用内置过滤器添加请求头、响应头

Gateway 配置

spring:
  cloud:
    gateway:
      # 路由规则
      routes:
        - id: aaa_header_route
          # 匹配以下路径
          predicates:
          - Path=/hi/{name}
          # 转发到:
          uri: http://127.0.0.1:8080
          filters: 
          # 添加请求头
          - AddRequestHeader=Jerry-Request-greeting, hi{name} 
          # 添加请求参数
          - AddRequestParameter=queryParam1, param1value
          # 添加响应头
          - AddResponseHeader=Jerry-Response-data, response-{name}

测试接口

@RestController
@RequestMapping("/")
public class Hello {
    
    @GetMapping("hi/{name}")
    public String hi(HttpServletRequest request, HttpServletResponse response){
        System.out.println("查询参数:");
        String queryString = request.getQueryString();
        System.out.println(queryString);

        System.out.println("请求头:");
        String value = request.getHeader("Jerry-Request-greeting");
        System.out.println("Jerry-Request-greeting = " + value);
        return "hi";
    }
}

结果

请求参数

查询参数:
queryParam1=param1value

请求头

请求头:
Jerry-Request-greeting = hijerry

响应头

HTTP/1.1 200 OK
Jerry-Response-data: response-jerry
Content-Type: text/html;charset=UTF-8
Date: Fri, 30 Sep 2022 09:35:22 GMT
content-length: 2

参考资料

Gateway 自带的过滤器
伊颦伊笑:Gatewa网关

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐