@DateTimeFormat @JsonFormat @JsonField的使用
@DateTimeFormat用于前端向后端传String时间字段转换成Date、LocalDateTime等时间类型接收
具体使用方法:
a. 参数不在实体类中
public void test(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startTime)
...
b.参数在实体类中(不能是加了@RequestBody 的实体类)
@Data
public class Query {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
}
@JsonFormat即可用于接收前端向后端传String时间的时候转换成Date、LocalDateTime等时间类型,也可以用于后端转换Date、LocalDateTime等时间类型为String给前端
具体使用方法:
a. 前端->后端
public void test(@RequestBody Query query)
...
@Data
public class Query {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
}
b.后端->前端
@Data
public class Query {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
}
@JsonField 最常用的属性是@JSONField(name=”xxxx”)和 @JSONField(format=”yyyy-MM-dd HH:mm:ss”)[fastjson专用]
具体使用方法:
a. name:@JSONField(name=”resType”)主要用于指定前端传到后台时对应的key值,如果bean中没有这个注解,则默认前端传过来的key是field本身,即如果是private String name,name前端对应的key就是name才能对应上;也可用于指定后台返回给前端时对应的key值。
b. format @JSONField(format=”yyyy-MM-dd HH:mm:ss”)主要用于格式化日期,比如前台传过来的时间是2018-07-12 17:44:08,但是通过这个注解,你存到数据库的时间就是2018-07-12 17:44:08.
注意:本文归作者所有,未经作者允许,不得转载