springcloud-gateway获取应用响应信息乱码

客户端通过springcloud gateway跳转访问tongweb上的应用,接口响应信息乱码。使用postman直接访问tongweb上的应用,响应信息显示正常。

用户gateway中自定义了实现GlobalFilter的Filter类,在该类中获取了上游应用接口的响应信息,直接将byte数组转换成字符串。此时如果上游应用响应信息是压缩过的,那么直接转换后就会变成乱码。

解决此问题有以下两个方法:

1、上游应用服务器关闭压缩

2、自定义Filter类获取响应信息后需要先解压缩数据,然后将解压缩后的byte数组转换为字符串。再然后将该字符串转换为byte数组,并压缩该byte数组。具体代码可以参考知识库文档附件ResponseLogGlobalFilter.java。

备注:

用户使用嵌入版E6_P10,尝试设置server.compression.enabled=false关闭压缩不起作用。反编译代码后发现tongweb Compression.enabled默认是true,这个是有问题的。NAS上获取P10/11/12反编译看此值默认都是false,推测给用户的嵌入版包有问题。

相关推荐
高兴达38 分钟前
RPC--Netty客户端实现
java·spring·rpc
重庆小透明1 小时前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
lang201509281 小时前
Reactor操作符的共享与复用
java
TTc_1 小时前
@Transactional事务注解的批量回滚机制
java·事务
wei_shuo2 小时前
飞算 JavaAI 开发助手:深度学习驱动下的 Java 全链路智能开发新范式
java·开发语言·飞算javaai
欧阳秦穆3 小时前
apoc-5.24.0-extended.jar 和 apoc-4.4.0.36-all.jar 啥区别
java·jar
岁忧3 小时前
(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)
java·c++·算法·leetcode·面试·go
Java初学者小白3 小时前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存
代码老y3 小时前
Spring Boot + 本地部署大模型实现:优化与性能提升
java·spring boot·后端
GodKeyNet3 小时前
设计模式-桥接模式
java·设计模式·桥接模式