springcloudGateway重写请求后,serverHttpRequest.mutate().header失效
springGateWay重新封装请求后,请求头丢失
·
场景:需要加个日志过滤器,打印请求体响应体,当前请求花费的时间。由于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());
更多推荐
已为社区贡献1条内容
所有评论(0)