当我们使用java8的LocalDateTime,LocalDate等接收来自前端请求json的时间字段时,会由于格式问题会导致反序列化失败,这里提供一种全局的解决方案。
官网
如果不想全局生效:
我们可以去掉@JsonComponent注解,然后在ComputeParam实体类上添加@JsonDeserialize,如下:
@Date
public class ComputeParam {
@JsonDeserialize(using = JsonConfig.LocalDateTimeDeserializer.class)
LocalDateTime createTime;
这样可以指定特定的Deserializer
,而不影响全局其他同类型的字段。
更简单的直接在createTime字段上增加 @JsonFormat
注解即可
@Date
public class ComputeParam {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
LocalDateTime createTime;