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

相关推荐
折哥的程序人生 · 物流技术专研22 分钟前
第8篇:模板方法模式的优缺点与面试高频考点
java·设计模式·面试·模板方法模式·行为型模式·优缺点·扩充系列
人道领域1 小时前
【0-1的agent进阶篇】Prompt 与上下文工程
java·开发语言·prompt·mcp
KINGSEA_1681 小时前
AgentScope Java 2.0 架构解析
java
折哥的程序人生 · 物流技术专研2 小时前
Java 23 种设计模式:从踩坑到精通 | 备忘录模式 —— 快照与撤销,给对象装一个“后悔药”
java·设计模式·备忘录模式·行为型模式·java设计模式·从踩坑到精通·撤销重做
ikun_文2 小时前
Java里面异常Exception体系知识点
java
不负岁月无痕2 小时前
STL -- C++ 红黑树封装 Map 和 Set
java·c语言·开发语言·c++·面试
小园子的小菜2 小时前
Java核心基础:反射与泛型底层原理及实战用法详解
java·开发语言
淘源码A2 小时前
多院区集团化云PACS系统源码,原生兼容国产软硬件环境
java·云计算·源码·saas·pacs·医学影像系统
何中应2 小时前
主流 OpenJDK 发行版下载安装
java·oracle·jdk·openjdk
daad7772 小时前
记录vscode连接matlab启动环境搭建
java·vscode·matlab