需求

后端存储 createTime时,数据库使用的是dateTime类型,后端使用了LocalDateTime 来接受、处理相关业务逻辑。
但是UI的设计稿中,前端时间只需要年月日,不需要后面的具体时分秒,在于前端同事讨论之后,前端妹子表示不能每次这样的情况都让她单独处理截取这样的数据。
因此想在传输给前端时统一处理该问题。


问题

想着以前使用@JsonFormat即可在后端传输数据,统一转化json格式时进行格式化,但是发现无效。

    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime createTime;

查阅了各种资料之后,最终确定是因为项目引用包的问题。
项目中使用的是fastjson,但是JsonFormat使用的包却是jackson

import com.fasterxml.jackson.annotation.JsonFormat;

解决

fastjson也有类似作用的注解

 @JSONField(format = "yyyy-MM-dd HH:mm:ss")  //FastJson包使用注解
 private LocalDateTime createTime;

使用之后问题搞定!

2019.4.10补充

@JsonIgnore失效同样的问题,使用fastJson对应的@JSONField(serialize = false)即可