SpringBoot Post请求参数过长时,后台接收到数据为空

SpringBoot Post请求参数过长时,后台接收到数据为空,第1张

SpringBoot Post请求参数过长时,后台接收到数据为空

在SpringBoot内置的tomcat中,post请求默认最大值为2M,当数据超过2M时后台就会接收到空值。

查看自己post请求数据大小:
在 Rquest类中的parseParameters方法可以看到 len=3,748,650(byte) -->约为3.57M

解决方案 方案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:配置yaml文件
server :
   tomcat:
      max-http-post-size: 10485760

参考文档:https://www.cnblogs.com/yanggb/p/14754119.html?ivk_sa=1024320u

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4668128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存