热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

SpringBoothttppost请求数据大小设置操作

这篇文章主要介绍了SpringBoothttppost请求数据大小设置操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

背景:

使用http post请求方式的接口,使用request.getParameter("XXX");的方法获取参数的值,当数据量超过几百k的时候,接口接收不到数据或者接收为null。

 @RequestMapping(value = "/rcv",method = RequestMethod.POST)
 public ResInfo 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代码里面实现:

@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之后可以使用这个功能。

3、设置接收数据在 request body里面。上面两种情况适合于数据不放在request body里面的。

tomcat应该是类似的。

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

以上这篇SpringBoot http post请求数据大小设置操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 开发笔记:Java是如何读取和写入浏览器Cookies的
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java是如何读取和写入浏览器Cookies的相关的知识,希望对你有一定的参考价值。首先我 ... [详细]
  • 本文总结了淘淘商城项目的功能和架构,并介绍了传统架构中遇到的session共享问题及解决方法。淘淘商城是一个综合性的B2C平台,类似京东商城、天猫商城,会员可以在商城浏览商品、下订单,管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。商城的架构包括后台管理系统、前台系统、会员系统、订单系统、搜索系统和单点登录系统。在传统架构中,可以采用tomcat集群解决并发量高的问题,但由于session共享的限制,集群数量有限。本文探讨了如何解决session共享的问题。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
author-avatar
手机用户2502913375
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有