场景:需要加个日志过滤器,打印请求体响应体,当前请求花费的时间。由于gateway消费了一次请求后,就不能再向下一个请求传播,所以需要重新封装请求体。
当重新封装请求体之后,往之后的过滤器传这个请求时,直接使用原来的请求添加header会失效,
serverHttpRequest.mutate().header(“test1”,“test1”);
serverHttpRequest.mutate().header(“test2”,“test2”);
return chain.filter(exchange);

此时应换种写法,重新声明一个请求传递给chain
ServerHttpRequest request = serverHttpRequest.mutate()
.header(“test1”,“test2”)
.header(“test2”,“test2” );
return chain.filter(exchange.mutate().request(request).build());
在这里插入图片描述
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐