springboot应用post请求数据量过大导致后台接收参数为空接收不到值问题的解决办法
在使用Spring Boot应用的时候,发现在post请求(以form表单形式提交)数据量过大的情况下,会导致后台接收不到值(参数为对象,对象中任何key对应的值都为空)。
通过查看内置tomcat包的源码可以发现,Spring Boot应用中post请求数据量大小默认为2097152个字节(2M),当超过这一数据量的时候,就会导致后台接收参数为空。
因此可以对症下药尝试着将post请求数据量大小限制加大(或去除)来解决问题,这样的尝试可以有两种方式。
1、硬编码的方式:
@Configuration
public class HttpMaxPostSizeConfiguration {
// Set maxPostSize of embedded tomcat server to 10 megabytes (default is 2 MB, not large enough to support file uploads > 1.5 MB) @Bean
EmbeddedServletContainerCustomizer containerCustomizer() throws Exception {
return (ConfigurableEmbeddedServletContainer container) -> {
if (container instanceof TomcatEmbeddedServletContainerFactory) {
TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
tomcat.addConnectorCustomizers(
(connector) -> {
connector.setMaxPostSize(10485760); // 10 MB }
);
}
};
}
}
2、配置文件的方式:
server :
tomcat:
max-http-post-size: 10485760
提示:其值为Integer类型,取值范围沿用Interger类型的取值范围,此外还可以将值设置为-1,表示不限制大小。
更多的,如果Spring Boot应用是部署在Spring Cloud(微服务)环境下,应该先在网关服务内配置此属性。
经过小心翼翼的尝试,问题得以解决。
注释:本文参考了https://www.cnblogs.com/yanggb/p/14754119.html,再次说明,感谢原博主。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghaicb
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13