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

server/2024/12/19 19:36:27/

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


http://www.ppmy.cn/server/151522.html

相关文章

CRMEB PHP多商户版DOCKER部署实战

#首先,制作docker 镜像# 官方有一个镜像,但是拉不来下,也不知道是没是没有维护,嘎了。只能自己动手做一个。 这里选择ubuntu 24 为基础,制作crmeb-mer的镜像,Dockerfile内容如下: # 使用官方…

【AIGC】与模型对话:理解与预防ChatGPT中的常见误解

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | ChatGPT 文章目录 💯前言💯模型的工作原理和用户期望差异人工智能模型的基本工作原理认知上的局限与误解用户期望与模型实际能力的差距精确理解用户意图的重要性实际应用中的建议 &…

C#异常处理

异常处理 任何完美的应用程序和技术高明的程序员,都不能保证程序绝对不出差错,所以我们需要异常处理。通俗而言,程序中的错误可以分为以下3类: (1)编译错误 在程序编译时产生的错误,通常由错误的语法或使用的资源不存在等原因引…

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:电影院后台管理系统(前后端源码 + 数据库 sql 脚本)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 项目介绍 2.0 用户登录功能 3.0 用户管理功能 4.0 影院管理功能 5.0 电影管理功能 6.0 影厅管理功能 7.0 电影排片管理功能 8.0 用户评论管理功能 9.0 用户购票功…

【iOS】OC语法知识小结

文章目录 前言inWithCustomView:视图弹出方法修改UITextField的占位符文本颜色视图变换的动态效果导航栏的阴影效果导航栏阴影效果管理和自定义阴影效果 reloadDatareloadData 方法的使用reloadData 的工作原理高效使用 reloadData 键盘的不同属性类型总结 前言 在之前写项目和…

如何将多张图片合并为一个pdf?多张图片合并成一个PDF文件的方法

如何将多张图片合并为一个pdf?当我们需要将多张图片合并为一个PDF文件时,通常是因为我们希望将这些图片整理成一个统一的文档,方便查看、分享或打印。无论是工作中需要提交的报告、学生们需要整理的作业,还是个人收藏的照片、旅行…

解决几个常见的ASP.NET Core Web API 中多线程并发写入数据库失败的问题

前言 在ASP.NET Core Web API应用程序中,当多个并发线程同时调用新增用户数据的接口时,可能会遇到数据库写入失败的问题。这个问题通常源于多个线程同时访问数据库时,可能会导致以下情况: 数据库连接池耗尽:每个线程…

使用 MyBatis-Plus Wrapper 构建自定义 SQL 查询

前言 MyBatis-Plus (MP) 是一款基于 MyBatis 的增强工具,它简化了数据库操作,提供了诸如自动分页、条件构造器等功能,极大地提高了开发效率。其中,Wrapper 条件构造器是 MP 的核心功能之一,它允许开发者以链式调用的方…