.w.s.m.s.DefaultHandlerExceptionResolver : Resolved

在实现新需求时遇到400错误,问题源于前端发送的数据格式与后端预期不匹配。前端400错误通常表示数据格式错误,后端报错显示尝试从数组中解析I_Family类型对象失败。经过排查,发现返回的数据是一个包含单一集合的数组,但后端尝试按单个对象解析,导致解析异常。解决方案是确保返回数据格式与后端期望一致,避免数组与单个对象之间的混淆。通过逐步调试和理解问题本质,最终解决了这个问题。记住,遇到问题时要理解错误类型,针对性地解决问题。

.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type com.cjhstudy.pojo.I_Family from Array value (token JsonToken.START_ARRAY);

.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `com.cjhstudy.pojo.I_Family` from Array value (token `JsonToken.START_ARRAY`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `com.cjhstudy.pojo.I_Family` from Array value (token `JsonToken.START_ARRAY`)
 at [Source: (PushbackInputStream); line: 1, column: 1]]

今天在完成老板提出的新需求的时候碰到了这个错误,一时间给我整懵了,vue前端打印的是 400 一开始我这个功能我是已经实现了的,但是我把他copy到这边的时候出现了数据格式有问题我接着黑人问号。我查了还多博主写的博客试着把 实体类实例化、然后挨个的检查前端传到后端的数据格式是不是出现了偏差 但是这个都没有解决我的问题。所以没办法只能自己慢慢‘小黄鸭调试法’探索问题的答案。

首先抓住问题的本质 前端报 400 这个错误就是数据格式存在问题,换句人话就是说你前端传到后端的数据格式不对或者说对不上号。
在这里插入图片描述
我这个项目是先去访问数据库把信息返回到我在前端定义的实体中接受。
在这里插入图片描述然后进行对数据的修改在写回数据库中。但是就是这个时候就是前端报400,后端报这个错。
tip:

像这种错误就是慢慢找看自己的源码,问题就是出现在传到数据库的数据格式出现错误在这里插入图片描述

最后我是在这个地方发现问题的!!!因为我返回的是一个数组的形式里面只有一个集合,但是我返回去的时候也是按照数组的形式返回去,到后端的时候不知道是哪个集合所以导致找不到数据包错误!(我是这么理解的!有大神知道的话可以批评指正!谢谢!)

最后

碰到问题不要怕,先理解问题是什么类型的,400就是前端的问题,500就是后端的问题。找到问题的本质去解决你就会越来越强越来越自信!

当前课程中商城项目的实战源码是我发布在 GitHub 上的开源项目 newbee-mall (新蜂商城),目前已有 9900 多个 Star,本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能的讲解,让大家实际操作并实践上手一个大型的线上商城项目,并学习到一定的开发经验以及其中的开发技巧。商城项目所涉及的功能结构图整理如下: 作者寄语本课程录制于2019年,距今已有一段时间。期间,Spring Boot技术栈也有一些版本升级,比如Spring Boot 2.7.x发版、Spring Boot 3.x版本正式版本。对于这些情况,笔者会在本课程实战项目的开源仓库中创建不同的代码分支,保持实战项目的源码更新,保证读者朋友们不会学习过气的知识点。新蜂商城的优化和迭代工作不会停止,不仅仅是功能的优化,在技术栈上也会不断的增加,截止2023年,新蜂商城已经发布了 7 个重要的版本,版本记录及开发计划如下图所示。 课程特色 对新手开发者十分友好,无需复杂的操作步骤,仅需 2 秒就可以启动这个完整的商城项目最终的实战项目是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择实践项目页面美观且实用,交互效果完美教程详细开发教程详细完整、文档资源齐全代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力 课程预览 以下为商城项目的页面和功能展示,分别为:商城首页 1商城首页 2购物车订单结算订单列表支付页面后台管理系统登录页商品管理商品编辑
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聪明不喝牛奶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值