需求驱动
项目的restful接口返回响应参数的Date类型数据,需要灵活支持字符串格式的日期、long格式的日期(字符串形式返回,防止精度丢失),按需返回对应格式的日期类型的响应对象 |
需求分析
项目支持@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss"), 已经满足返回 年月日的字符串格式日期了,需要考虑的就是实现返回long类型的日期,接口返回的是json格式的响应结果,所以考虑使用Jackson去修改返回对应日期类型的参数,启用该配置由AOP的注解来实现,可以做到灵活使用,互不影响 |
编码实现(show code)
日期格式返回Long格式----配置注解
import java.lang.annotation.*;
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DateFormatterToLong {
}
Date类型转Long的序列化:
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSer