记一次@JsonFormat注解引起的400错误的解决过程(关于前后端数据格式导致的错误)

先说问题:在前端通过post传输一个实体类到后台,后台通过@RequestBody来接受前端传过来的实体类。实体类中有几个时间类型的属性有@JsonFormat的注解。点击提交后报400错误。

400错误,最大几率是出现了数据类型不一致的问题,简单来说是Controller层不用正确读取你发送请求附带的参数。

针对这个400错误,我首先以为是我后端的实体类和前端的传入的实体类参数有差异,查找之后并没有区别。然后我把后端的实体类换成map,可以正常接收。定位问题在实体类中,实体类跟map区别,现在只在@JsonFormat注解上有差异,看了前后端的时间类,前端用的vue+element-ui的时间组件,设置的时间格式是yyyy-MM-dd HH:mm 后端@JsonFormat注解的是yyyy-MM-dd HH:mm:ss 时间格式不一样,导致后端接收不到前端传的值,把时间格式改成一样就可以了。

出现这个问题一个是不明白@JsonFormat注解在何时起作用,一个是不知道前后端传值的底层机制,之后需要了解一下这块知识,在遇到问题就能很好解决了。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值