@DateTimeFormat和@JsonFormat

@DateTimeFormat

主要解决前台到后台时间格式保持一致的问题

从前端传过来的参数是字符串 2022-03-03 22:05:55,但接收参数的属性是Java.Util.DateTime类型。这个时候就会出现类型无法转换的问题。

因为需要@DateTimeFormat注解将这个字符串按照某种格式来解析为 DateTime 类型

@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTime;

如果我们打印这个 dateTime 属性的话会发现

2022-03-03T01:59:13

这个形式就是本来LocalDateTime的打印输出形式。也就是说

2022-03-03 22:05:55 -> 
    "yyyy-MM-dd HH:mm:ss" -> 
    dateTime ->
    2022-03-03T01:59:13

假设代码中是这样的

@DateTimeFormat(pattern = "yyyy/MM/dd")
private LocalDate date;

而前端传过来的参数是

date: 2022-03-03

就会发生错误

@JsonFormat

主要解决后台到前台时间格式保持一致的问题

当我们在接口中返回的对象中含有 LocalDateLocalDateTime 类型的属性时,如果不加处理,可能返回的数据就是

"dateTime": "2018-08-01T14:25:31.296+0000"

如果用上了注解,就会让时间格式进行解析以后再返回给前端。

你可能感兴趣的:(Java,SpringBoot,Spring小干货,java,注解)