SpringBoot http post請求數據大小設置操作
背景:
使用http post請求方式的接口,使用request.getParameter('XXX');的方法獲取參數的值,當數據量超過幾百k的時候,接口接收不到數據或者接收為null。
@RequestMapping(value = '/rcv',method = RequestMethod.POST) public ResInfo<String> pullApi(HttpServletRequest request) { String channel = request.getParameter('channel'); }
在application.properties里添加:
spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
默認值:
private String maxFileSize = '1MB'; private String maxRequestSize = '10MB';
這個設置是大小不限制,主要是這個設置。
server.tomcat.max-http-post-size=-1
補充知識:spring boot post請求數據太大接收不到參數(參數為空)報400錯誤。
spirng boot發送的請求,有的參數數據量大,有的參數數據量小。數據量大的發送不到后端,報400錯誤。
首先說以jetty為內嵌服務器的時候:
1、修改yml文件或者properties文件,
server.max-http-post-size=200*1024*1024,設置為200m,總夠了吧,可以按照量設置小一點。
Spring Boot 1.4.0.M2之后就可以使用這個屬性。適合于不修改代碼,快速重新部署。
2、在java代碼里面實現:
@Beanpublic EmbeddedServletContainerCustomizer jettyCustomizer() { return new EmbeddedServletContainerCustomizer() { @Override public void customize(ConfigurableEmbeddedServletContainer container) { if (container instanceof JettyEmbeddedServletContainerFactory) { ((JettyEmbeddedServletContainerFactory) container) .addServerCustomizers(new JettyServerCustomizer() { @Override public void customize(Server server) { setHandlerMaxHttpPostSize(200 * 1024 * 1024, server.getHandlers()); } private void setHandlerMaxHttpPostSize(int maxHttpPostSize, Handler... handlers) { for (Handler handler : handlers) { if (handler instanceof ContextHandler) {((ContextHandler) handler) .setMaxFormContentSize(maxHttpPostSize); } else if (handler instanceof HandlerWrapper) {setHandlerMaxHttpPostSize(maxHttpPostSize, ((HandlerWrapper) handler).getHandler()); } else if (handler instanceof HandlerCollection) {setHandlerMaxHttpPostSize(maxHttpPostSize, ((HandlerCollection) handler).getHandlers()); } } } }); } } };}
Spring Boot 1.3.x之后可以使用這個功能。
3、設置接收數據在 request body里面。上面兩種情況適合于數據不放在request body里面的。
tomcat應該是類似的。
參考https://stackoverflow.com/questions/36872540/spring-boot-rest-service-form-too-large
以上這篇SpringBoot http post請求數據大小設置操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。
相關文章:
1. React+umi+typeScript創建項目的過程2. ASP中常用的22個FSO文件操作函數整理3. ASP編碼必備的8條原則4. ASP調用WebService轉化成JSON數據,附json.min.asp5. 三個不常見的 HTML5 實用新特性簡介6. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析7. SharePoint Server 2019新特性介紹8. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析10. php測試程序運行速度和頁面執行速度的代碼
