当前位置: 首页 > news >正文

SpringBoot3.5.5版本大坑

事情是这样的,我在做一个SpringBoot项目实训,使用SpringBoot3.5.5版本搭建的项目。开始写代码一切顺利,在编写一个修改信息的功能时,让我怀疑人生了。下面我来阐述下

1. 前端使用AXIOS发送异步请求代码:

let formData = new FormData();
for (let field in this.activityQuery) {if (this.activityQuery[field]) {formData.append(field, this.activityQuery[field])}
}doPost("/api/editActivity", formData).then(res => {if (res.data.code === 200) {messageTip("编辑成功", "success")this.$router.push("/dashboard/Activity");} else {messageTip("编辑失败", "error")}
})

2. 后端controller接收参数代码

@PostMapping(value = "/api/editActivity")
public R editActivity(@RequestBody ActivityQuery activityQuery, @RequestHeader(value = "Authorization") String token) {activityQuery.setToken(token);int update = activityService.updateActivity(activityQuery);return update >= 1 ? R.OK() : R.FAIL();
}

经过最终测试代码是没有问题的,但出现了一个匪夷所思的情况:

问题复现:

前端发送post请求,参数是这样的

后端接收后,显示的参数是这样的

对象中的属性值都为空!!!

对象中的属性值都为空!!!

对象中的属性值都为空!!!

一顿检查代码,然后我震惊了!代码没问题!

然后我经过多次尝试,有了这样的骚操作:

前端发送请求:这里注意看name参数的长度

后端居然接收到值了╮(╯﹏╰)╭

问题原因找到了,是前端传参长度过长了!那么问题来了,第一次传递的name值字符长度是12,这算长吗?(我个人是不相信这个原因的,但又无法解释。。。)

那么接下来新的问题产生了,这个name值不可能让用户显示在12个字符以内吧。后续在网上找了好久,一直没有找到好的解决方案。

然后我灵机一动!换个SpringBoot版本试试?(TM机智如我ヾ(๑╹◡╹)ノ")

然后切换为SpringBoot 3.2.0版本,果然一切问题都没有了。。。

(´Д(︶︹︺)        (´Д(︶︹︺)        (´Д(︶︹︺)        (´Д(︶︹︺)        (´Д(︶︹︺)     

(´Д(︶︹︺)        (´Д(︶︹︺)        (´Д(︶︹︺)        (´Д(︶︹︺)        (´Д(︶︹︺)

虽然切换版本后,问题解决了,但在真实项目中不可能随随便便修改SpringBoot版本吧。如果也遇到了这样的问题要怎么解决。如果有大神在,请在评论区发表一下高见哈。。。

http://www.dtcms.com/a/395728.html

相关文章:

  • Lightroom Classic 2025专业级数字照片管理与后期处理全解析
  • 交叉编译工具链
  • 前端构建工具有哪些?常用前端构建工具推荐、前端构建工具对比与最佳实践
  • 【RocketMQ入门到精通 | 4】工作原理:indexFile索引文件
  • PPIO首发上线DeepSeek-V3.1-Terminus
  • 《嵌入式驱动(一):系统移植》
  • C语言(长期更新)第22讲:文件操作(一)
  • 财务管控——解读79页集团财务业务管控方法及信息化应用案例【附全文阅读】
  • 火语言RPA:解锁开发者工作流的“自动化密码”
  • 用户行为数据可视化
  • jdbc-数据更新与删除
  • 【GitLab】GitLab-CI(shell方式)入门配置
  • Python入门 | 三个if语句程序作业和基础语法笔记
  • BeanPropertyRowMapper
  • 深入解析Java中String的不可变性
  • windows-安装kafka并启动
  • linux 驱动私有数据
  • 信息系统监理师软考备考指南:组织协调与沟通管理专题精讲
  • 【开题答辩全过程】以 JAVA农产品销售系统为例,包含答辩的问题和答案
  • Python 网络爬虫生态全景综述
  • MCP— Model Context Protocol(模型上下文协议)
  • 解决ubuntu无法连接上security.ubuntu.com:80 (185.125.190.81)的问题
  • SHAP分析 | MATLAB实现XGBoost极限梯度提升树多输入单输出回归预测+SHAP可解释分析分析(预测新数据,多指标评价)
  • 磁共振成像原理(理论)11:梯度回波 (Gradient Echoes)
  • odoo18全局菜单搜索
  • langchain链中的高级组件
  • 鸿蒙:使用animation或animateTo实现图片无限旋转效果
  • 02)阿里 Arthas(阿尔萨斯)开源的 Java 诊断工具原理分析、JVM动态加载“代理程序“(Agent) 的机制、vm.loadAgent原理
  • [学习笔记][机器学习-周志华] 第1章 绪论
  • Node.js面试题及详细答案120题(111-120) -- 进阶与扩展篇