spring cloud gateway处理请求有256kb大小的限制的解决办法

博客详细介绍了在使用Spring Boot 2.2.6版本时,如何解决因请求体超过256KB而引发的异常。作者在公司项目中遇到这一限制,通过深入研究源码,发现该限制源自Spring框架内部。为克服这一限制,作者提供了修改解决方案,即在项目中创建一个与Spring内部类相同结构的类来覆盖默认设置,成功将请求体大小提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统架构:注册中心和配置中心是nacos,版本1.3.0 。springboot版本是2.2.6.RELEASE,spring cloud alibaba版本是

<spring-boot.version>2.2.6.RELEASE</spring-boot.version>
<spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
<spring-cloud.version>Hoxton.SR4</spring-cloud.version>

因为spring-core jar里面,写死了一个字节缓冲大小不能超过256KB的限制,超过就抛异常,所以微服务架构的时候。请求先经过网关,网关路由到对应的服务,因为post请求,我公司情况特殊,请求体超过了256KB,所以网关一直报异常,提示用户超出了256KB大小限制。于是我就找原因,看源码,重要被我找到了原来是spring5.2.5版本或之前的版本都有这个限制,spring的开发人员写死了这个大小限制,不让你们个性化定制字节大小的限制,所以他写死了。代码如下截图:

那么我公司又刚好有这个必须超过256KB大小的限制的需求,于是我没办法了,只能在自己的工程下创建一个和spring jar里面的一模一样的类,包目录结构也一样,然后就可以替换它了。从而实现了这个功能,我把大小写成了如下截图:

通过这个方式解决了这个问题。

于是我就写了这个博客,提供一个解决办法给以后遇到这个的问题的程序开发人员。减少你们爬坑的时间和痛苦,如果你们觉得对你有帮助,麻烦点个赞,给我增加点人气。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值