亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot http post請(qǐng)求數(shù)據(jù)大小設(shè)置操作

 更新時(shí)間:2020年09月17日 10:07:28   作者:艾斯-李  
這篇文章主要介紹了SpringBoot http post請(qǐng)求數(shù)據(jù)大小設(shè)置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

背景:

使用http post請(qǐng)求方式的接口,使用request.getParameter("XXX");的方法獲取參數(shù)的值,當(dāng)數(shù)據(jù)量超過幾百k的時(shí)候,接口接收不到數(shù)據(jù)或者接收為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

默認(rèn)值:

private String maxFileSize = "1MB"; private String maxRequestSize = "10MB";

這個(gè)設(shè)置是大小不限制,主要是這個(gè)設(shè)置。

server.tomcat.max-http-post-size=-1

補(bǔ)充知識(shí):spring boot post請(qǐng)求數(shù)據(jù)太大接收不到參數(shù)(參數(shù)為空)報(bào)400錯(cuò)誤。

spirng boot發(fā)送的請(qǐng)求,有的參數(shù)數(shù)據(jù)量大,有的參數(shù)數(shù)據(jù)量小。數(shù)據(jù)量大的發(fā)送不到后端,報(bào)400錯(cuò)誤。

首先說以jetty為內(nèi)嵌服務(wù)器的時(shí)候:

1、修改yml文件或者properties文件,

server.max-http-post-size=200*1024*1024,設(shè)置為200m,總夠了吧,可以按照量設(shè)置小一點(diǎn)。

Spring Boot 1.4.0.M2之后就可以使用這個(gè)屬性。適合于不修改代碼,快速重新部署。

2、在java代碼里面實(shí)現(xiàn):

@Bean
public 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之后可以使用這個(gè)功能。

3、設(shè)置接收數(shù)據(jù)在 request body里面。上面兩種情況適合于數(shù)據(jù)不放在request body里面的。

tomcat應(yīng)該是類似的。

參考https://stackoverflow.com/questions/36872540/spring-boot-rest-service-form-too-large

以上這篇SpringBoot http post請(qǐng)求數(shù)據(jù)大小設(shè)置操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論