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

.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 这个错误就是数据格式存在问题,换句人话就是说你前端传到后端的数据格式不对或者说对不上号。
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved_第1张图片
我这个项目是先去访问数据库把信息返回到我在前端定义的实体中接受。
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved_第2张图片然后进行对数据的修改在写回数据库中。但是就是这个时候就是前端报400,后端报这个错。
tip:

像这种错误就是慢慢找看自己的源码,问题就是出现在传到数据库的数据格式出现错误.w.s.m.s.DefaultHandlerExceptionResolver : Resolved_第3张图片

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

最后

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

你可能感兴趣的:(vue)