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

系统架构:注册中心和配置中心是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的开发人员写死了这个大小限制,不让你们个性化定制字节大小的限制,所以他写死了。代码如下截图:

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

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

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

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

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