问题:在 Cloud Gateway 过滤器中修改 body 后转发出错?
(非流式请求时)客户端会传入 Content-Length 头,代理也会传发这个头。。。造成 target 端只读取这个长度的数据。。。修改时数据时,这个头移除,就可以了。
public class DemoFilter implements CloudGatewayFilter {
@Override
public Completable doFilter(ExContext ctx, ExFilterChain chain) {
ctx.newRequest().headerRemove("Content-Length");
ctx.newRequest().body(Buffer.buffer("测试修改请求体的内容"));
return chain.doFilter(ctx);
}
}