小码问答,有问必答!

springboot在上传数据时报JSON parse error: Can not deserialize value of type java.util.Date from String

前后端分离项目中,客户端提交的时间格式为yyyy-MM-dd,服务器端用@RequestBody 注解的对象来接收数据,springboot配置文件中配置了:

spring.mvc.format.date=yyyy-MM-dd
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8



JavaEE

收藏

1个回答

我要回答

  • author
    王姐姐 2021-11-12 10:04

    你用@RequestBody注解的对象来接收数据,客户端提交的为JSON字符串,涉及到使用Jackson把JSON字符串反序列化为java.util.Date,会按着你springboot的配置的spring.jack.date-format进行序列化和反序列化,你就是配置了spring.mvc.format.date或者使用@InitBinder配置了日期转换都不起作用,你提交的时间格式必须是你配置的:yyyy-MM-dd HH:mm:ss,要么修改配置文件为yyyy-MM-dd,要么在你的POJO类的日期属性上加上@DateFormat注解

    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")