今天发现了一个很奇怪的问题,前端发送post请求到后台,请求的数据量非常大,数据到后台发现,controller层对应的方法接收到的参数都为空,后台没有提示什么错误,只是莫名其妙的参数全丢失了。后面尝试各种方法,终于解决问题。下面记录下springboot2.x的解决方式。
1、处理post请求的大小,在配置文件中添加如下参数;
server:
tomcat:
max-http-post-size: -1
2、处理post请求参数的个数,在springboot的启动类中,添加如下代码:
1 2 3 4 5 6 7 8 9 10 | @Bean public TomcatServletWebServerFactory mbeddedServletContainerFactory() { TomcatServletWebServerFactory tomcatEmbeddedServletContainerFactory = new TomcatServletWebServerFactory (); tomcatEmbeddedServletContainerFactory.addConnectorCustomizers(connector ->{ connector.setMaxParameterCount(Integer.MAX_VALUE); }); return tomcatEmbeddedServletContainerFactory; } |