Spring Boot 项目请求参数丢失问题排查与解决

最近在项目中遇到一个 bug,涉及到文件另存接口无法正确读取前端传入的参数。以下是排查问题的过程:

  1. 在开发环境中通过 Postman 调用接口进入断点调试,没有问题,排除了接口本身的问题。

  2. 获取线上环境的入参,通过 Postman 调试发现取不到入参,怀疑参数的区别导致参数丢失。

  3. 参数唯一的区别是报错的参数报文较长。

  4. 怀疑是 Tomcat 配置问题,由于是 Spring Boot 项目,是嵌入式 Tomcat,参数的配置都要在 application.yml 中配置。

  5. 对比其他项目,没有缺少配置。

  6. 由于上面参数报文过长才导致的报错,怀疑是 Tomcat 有配置报文长度的限制,开始查阅资料。

  7. 找到了配置:

    server:port: 8080servlet:context-path: /demotomcat:max-http-form-post-size: -1
    
  8. 加上配置,重启项目,经测试不再报错,问题解决。

在 Tomcat 中,max-http-form-post-size 是一个配置项,用于限制通过 HTTP POST 请求发送的表单数据的大小。将其设置为 -1 表示允许任意大小的表单数据。这对于希望完全放开表单数据大小限制的应用场景很有用。但需要注意,允许非常大的表单数据可能会导致服务器资源的过度使用,因此在生产环境中,可能会考虑设置一个合理的限制,以防止滥用。

以上是排查和解决问题的详细过程。在设计中,确保配置的大小限制不会对正常的用户体验造成不便是非常重要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/648255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:优先队列-Priority_queue

目录 1.关于优先队列 2.priority_queue的使用 1.构造方法 2.empty();判空 3.size(); 4.top(); 5.push(val); 6.pop(); 3.优先队列模拟实现 4.用优先队列解决数组中第K个大的元素 1.关于优先队列 在C中,可以使用STL(标准模板库)中的p…

【Uni-App】Vuex在vue3版本中的使用与持久化

Vuex是什么 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 简而言之就是用来存数据,可以有效减少使用组件传参出现的问题。 基本元素:…

Super Retail Group EDI需求分析

Super Retail Group(以下简称SRG)是一家总部位于澳大利亚的公司,在澳大利亚和新西兰拥有并经营一系列零售品牌。这些品牌包括汽车零售商 Supercheap Auto、户外和休闲零售商 Macpac 和 BCF 以及体育零售商 Rebel(前 Rebel Sport&a…

<网络安全>《8 入侵检测系统IDS》

1 概念 入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,IDS是一种积极主…

如何解决服务器端口被占用的问题,减少带来的影响

在现代网络环境中,服务器扮演着至关重要的角色,其稳定性和安全性对企业的正常运营具有重要意义。然而,服务器端口被占用的问题却时常困扰着企业网络管理员。本文将深入探讨服务器端口被占用的影响,并提出相应的解决方案。 一、服务…

(2)(2.8) Holybro 900Mhz XBP9X无线电遥测设备

文章目录 前言 1 特点 2 规格 3 电源 4 引脚输出 5 下载 前言 Holybro XBP9X 无线电设备可使用 Digi 免费的 XCTU 软件或通过 Digi 简化的 AT 或 API 命令集轻松进行配置。无线电台采用 256 位 AES 加密技术,可在设备之间安全可靠地传输关键数据。无线电的射…

解决 Required Integer parameter ‘uid‘ is not present

1.原因分析 后端没接收到uid可能是前端没传递uid也可能是前端传递了uid,但是传递方式与后端接收方式不匹配,导致没接收到更大的可能是因为后端请求方式错了。比如: 2.解决方案 先确定前端传参方式与后端请求方式是匹配的后端get请求的话…

云计算项目六:升级网站运行平台|部署缓存服务|数据迁移|部署集群

升级网站运行平台|部署缓存服务|数据迁移|部署集群 案例1:升级网站运行平台步骤一:清除当前配置步骤二:部署LNMP步骤三:测试配置 案例2:部署内存存储服务步骤一:部署redi…

【大数据面试题】HBase面试题附答案

目录 1.介绍下HBase 2.HBase优缺点 3.介绍下的HBase的架构 4.HBase的读写缓存 5.在删除HBase中的一个数据的时候,它是立马就把数据删除掉了吗? 6.HBase中的二级索引 7.HBase的RegionServer宕机以后怎么恢复的? 8.HBase的一个region由哪些东西组成? 9.…

ChatGPT模型大更新!全新大、小文本嵌入模型,API价格大降价!

1月26日凌晨,OpenAI在官网对ChatGPT Turbo模型(修复懒惰行为),免费的审核模型,并对新的GPT-3.5 Turbo模型API进行了大幅度降价。模型进行了大更新,发布了两款全新大、小文本嵌入模型,全新的GPT-…

申万宏源基于 StarRocks 构建实时数仓

作者 :申万宏源证券 实时数仓项目组 小编导读: 申万宏源证券有限公司是由新中国第一家股份制证券公司——申银万国证券股份有限公司与国内资本市场第一家上市证券公司——宏源证券股份有限公司,于 2015 年 1 月 16 日合并组建而成&#xff0c…

设计模式_装饰器模式_Decorator

生活案例 咖啡厅 咖啡定制案例 在咖啡厅中,有多种不同类型的咖啡,客户在预定了咖啡之后,还可以选择添加不同的调料来调整咖啡的口味,当客户点了咖啡添加了不同的调料,咖啡的价格需要做出相应的改变。 要求&#xff…

机器学习_常见算法比较模型效果(LR、KNN、SVM、NB、DT、RF、XGB、LGB、CAT)

文章目录 KNNSVM朴素贝叶斯决策树随机森林 KNN “近朱者赤,近墨者黑”可以说是 KNN 的工作原理。 整个计算过程分为三步: 计算待分类物体与其他物体之间的距离;统计距离最近的 K 个邻居;对于 K 个最近的邻居,它们属于…

QT模态对话框和非模态对话框

QT模态对话框和非模态对话框 QT模态对话框 QT模态对话框指的是当前对话框弹出后,不能进行操作其他窗口,必须关掉该对话框才能操作其他窗口,相当于阻塞到当前窗口了;代码如下: QDialog dialog(this);dialog.resize(20…

Qt编写linux系统onvif工具(支持预览/云台/预置位/录像等)

一、功能特点 广播搜索设备,支持IPC和NVR,依次返回。可选择不同的网卡IP进行对应网段设备的搜索。依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。可对指定的Profile获取视频流Rtsp地址,比如主码流地址、子码流地址。可对每个设备设…

spring(一):基于XML获取Bean对象以及各种依赖注入方式

1. 获取Bean XML文件&#xff1a;<bean id"helloworld" class"org.kkk.spring6.bean.HelloWorld"></bean>1.1 根据id获取 Test public void testHelloWorld(){//加载XML文件ApplicationContext context new ClassPathXmlApplicationContext…

单元测试——题目十二

目录 题目要求: 定义类 测试类 题目要求: 根据下列流程图编写程序实现相应处理,执行j=10*x-y返回文字“j1=:”和计算值,执行j=(x-y)*(10⁵%7)返回文字“j2=:”和计算值,执行j=y*log(x+10)返回文字“j3=:”和计算值。 编写程序代码,使用JUnit框架编写测试类对编写的…

idea中使用带provide修饰的依赖,导致ClassNotFound

1、provide修饰的依赖作用&#xff1a; 编译时起作用&#xff0c;而运行及打包时不起作用。程序打包到Linux上运行时&#xff0c;若Linux上也有这些依赖&#xff0c;为了在Linux上运行时避免依赖冲突&#xff0c;可以使用provide修饰&#xff0c;使依赖不打包进入jar中 2、可能…

Map集合(二)

HashMap HashMap集合的底层原理 HashMap跟HashSet的底层原理是一模一样的&#xff0c;都是基于哈希表实现的。 实际上&#xff1a;原来学的Set集合的底层就是基于Map实现的&#xff0c;只是Set集合中的元素只要键数据&#xff0c;不要值数据而已。 哈希表 哈希表是一种增删…

Python Flask与APScheduler构建简易任务监控

1. Flask Web Flask诞生于2010年&#xff0c;是用Python语言&#xff0c;基于Werkzeug工具箱编写的轻量级、灵活的Web开发框架&#xff0c;非常适合初学者或小型到中型的 Web 项目。 Flask本身相当于一个内核&#xff0c;其他几乎所有的功能都要用到扩展&#xff08;邮件扩展…