您当前的位置: 首页 >  gateway

qq_34412985

暂无认证

  • 0浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

获取SpringCloud gateway 响应的response的值,可以查看、修改

qq_34412985 发布时间:2021-11-13 16:33:06 ,浏览量:0

gateway获取、修改客户端请求Request的参数,我们在上一篇已经讲过了。那么网关发起请求后,微服务返回回来的response的值,还是要经过网关才发给客户端的。很多时候,我们希望能看到响应的值,或者修改它。那么怎么做呢?

    import org.reactivestreams.Publisher;     import org.springframework.cloud.gateway.filter.GatewayFilterChain;     import org.springframework.cloud.gateway.filter.GlobalFilter;     import org.springframework.core.Ordered;     import org.springframework.core.io.buffer.DataBuffer;     import org.springframework.core.io.buffer.DataBufferFactory;     import org.springframework.core.io.buffer.DataBufferUtils;     import org.springframework.http.server.reactive.ServerHttpResponse;     import org.springframework.http.server.reactive.ServerHttpResponseDecorator;     import org.springframework.stereotype.Component;     import org.springframework.web.server.ServerWebExchange;     import reactor.core.publisher.Flux;     import reactor.core.publisher.Mono;           import java.nio.charset.Charset;           /**      * @author wuweifeng wrote on 2018/10/31.      */     @Component     public class WrapperResponseGlobalFilter implements GlobalFilter, Ordered {         @Override         public int getOrder() {             // -1 is response write filter, must be called before that             return -2;         }               @Override         public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {             ServerHttpResponse originalResponse = exchange.getResponse();             DataBufferFactory bufferFactory = originalResponse.bufferFactory();             ServerHttpResponseDecorator decoratedResponse = new ServerHttpResponseDecorator(originalResponse) {                 @Override                 public Mono writeWith(Publisher

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0604s