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,推测给用户的嵌入版包有问题。

相关推荐
ZFSS21 小时前
Midjourney Shorten API 的集成与使用
java·前端·数据库·人工智能·ai·midjourney·ai编程
前端若水1 天前
【无标题】
java·人工智能·python·机器学习
tongluowan0071 天前
@Autowired 和 @Resource 有什么区别?
java·spring·bean
Maiko Star1 天前
* SpringBoot整合LangChain4j
java·spring boot·后端·langchain4j
MandalaO_O1 天前
MyBatis:核心概念 + 环境搭建 + CRUD
java·tomcat·mybatis
DN金猿1 天前
spring.cloud.nacos.discovery.server-addr和spring.cloud.nacos.server-addr区别
java·开发语言·nacos·springcloud·sca
ChampaignWolf1 天前
在 Eclipse 中使用 Tabnine
java·ide·eclipse
JAVA面经实录9171 天前
Java多线程并发高频面试100题(完整版·含答案·背诵版)
java·开发语言·面试
XiYang-DING1 天前
【Java EE】TCP—流量控制和拥塞控制
java·tcp/ip·java-ee