- application.yml中进行以下配置
spring:
jackson:
date-format: yyyy-MM-dd
time-zone: GMT+8
- 使用注解
@JsonFormat(pattern = "yyyy-MM-dd",time-zone="GMT+8")
private Date createDate;
使用JsonFormat可能会出现以下错误信息
Field error in object 'user' on field 'createDate': rejected value [2019-09-22];
codes [typeMismatch.user.createDate,typeMismatch.createDate,typeMismatch.java.util.Date,typeMismatch];
arguments [org.springframework.context.support.DefaultMessageSourceResolvable:
codes [user.createDate,createDate]; arguments []; default message [createDate]];
default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'createDate';
nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@com.fasterxml.jackson.annotation.JsonFormat java.util.Date] for value '2019-09-22';
nested exception is java.lang.IllegalArgumentException]]
解决:使用DateTimeFormat注解指定日期格式, 然后再配置yml文件解决时区问题
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createDate;