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

相关推荐
haogexiaole13 分钟前
Java高并发常见架构、处理方式、api调优
java·开发语言·架构
EnCi Zheng36 分钟前
@ResponseStatus 注解详解
java·spring boot·后端
wdfk_prog1 小时前
闹钟定时器(Alarm Timer)初始化:构建可挂起的定时器基础框架
java·linux·数据库
怎么没有名字注册了啊1 小时前
C++后台进程
java·c++·算法
z日火1 小时前
Java 泛型
java·开发语言
简色1 小时前
题库批量(文件)导入的全链路优化实践
java·数据库·mysql·mybatis·java-rabbitmq
程序员飞哥2 小时前
如何设计多级缓存架构并解决一致性问题?
java·后端·面试
一只小松许️2 小时前
深入理解:Rust 的内存模型
java·开发语言·rust
前端小马2 小时前
前后端Long类型ID精度丢失问题
java·前端·javascript·后端
Lisonseekpan2 小时前
Java Caffeine 高性能缓存库详解与使用案例
java·后端·spring·缓存