问题篇-优化时间注解

关于时间注解使用

如果前端入参时间是字符串,但是数据库是date,且还需要校验入参是否为null;
使用下面注解联合使用就行
问题篇-优化时间注解

  • 传入的参数是 String 类型的,而用来接收参数的是date 属性,是 java.util.Date 类型的,类型无法转换。
    这时,就可以使用 Spring 的 @DateTimeFormat 注解格式化参数,来解决上述问题。
    但是注意: @DateTimeFormat 注解的 pattern 属性值指定的日期时间格式,并不是将要转换成的日期格式,这个指定的格式是和传入的参数对应的,不对应会报错;

  • 如果需要将前端传入的String类型的字符串格式转换成我们想要的,那么这时候就需要
    用到 jackson 的 @JsonFormat 注解,同时 ,因为,jackson在序列化时间时是按照国际标准时间GMT进行格式化的,而在国内默认时区使用的是CST时区,两者相差8小时;所以需要加上属性 timezone = “GMT+8”;

因为 @JsonFormat 注解不是 Spring 自带的注解,所以使用该注解前需要添加 jackson 相关的依赖包。当然,如果是 SpringBoot 项目就不需要自己手动添加依赖了,因为在 spring-boot-start-web 下已经包含了 jackson 相关依赖。

上一篇:Spring MVC学习05--JSON序列化


下一篇:【Jackson 技术专题】全方位系统化学习和使用指南