昨天在进行登陆测试返回数据格式时,前端显示的日期都是以标准时间格式显示的,因为后端数据库定义的datetime类型,实体定义的date类型,以json格式返回给前端后,日期都格式化为标准类型。一看这个问题,就想到@JsonField注解,直接利用format格式化,但实际情况是并没有转换的。
解决方案:
项目用的是Springboot + Mybatis框架,使用@JsonField注解无效,查了一下查到的是jackson包下的@JsonFormat注解,所以,我就用@JsonFormat注解替换了@JsonField注解,结果是没有问题的。
具体原因:
在springboot项目中,默认集成的是jackson解析json数据,并且会增加一些对应的配置,因此,需要使用jackson包提供的@JsonFormat注解才能完成日期格式转换,若要使用@JsonField注解完成转换,则需要将配置改成阿里的fastjson。
这样就可以在实体字段中使用@JsonField注解进行日期格式转换了。