在基于springboot的开发过程中,有两个字段需要从数据库查出来反序列化返回给前端,
//创建时间
private Date createTime;
//修改时间
private Date updateTime;
对于一般前端显示来说,只需要显示到秒就行,但是mysql保存的时间精确到秒,所以反序列化后显示:
"createTime": 1544001202000,
"updateTime": 1544064963000
常规的做法就是在VO里面做数据处理,springboot为我们提高了更高级的做法。首先封装一个转换类
public class Date2LongSerialize extends JsonSerializer<Date> {
/**
* 把毫秒级别转换为秒级别
* @param date
* @param jsonGenerator
* @param serializerProvider
* @throws IOException
* @throws JsonProcessingException
*/
@Override
public void serialize(Date date, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
jsonGenerator.writeNumber(date.getTime()/1000);
}
}
然后在javaBean的相关属性上加上注解
//创建时间
@JsonSerialize(using = Date2LongSerialize.class) //把时间转换秒级别
private Date createTime;
//修改时间
@JsonSerialize(using = Date2LongSerialize.class)
private Date updateTime;
问题解决!