目录

前端传递的String类型的时间字符串,后台如何使用LocalDateTime类型接收

前端传递的String类型的时间字符串,后台如何使用LocalDateTime类型接收?

前端传递的String类型的时间字符串,后台如何使用LocalDateTime类型接收?

前端传递给后台的数据都是字符串类型的,而将每个变量的类型转为Java类型实际上是后台的消息转换器所转换的,而最近碰到的一个需求是希望能将前台接收的时间字符串转为 LocalDateTime 类型,如果使用spring框架默认的消息转换器很容易出现转换失败这种情况,而消息转换器也是根据相对应的规则对各种类型进行转换的,那么我们能不能设置定好字符串时间转为 LocalDateTime 类型的规则,然后让框架按照我们的规则转换呢?答案肯定是可以的,如下:

@ApiModelProperty(value = "更新时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime;

在属性上使用 @JsonFormat 注解进行标注,然后使用 "yyyy-MM-dd HH:mm:ss" 这个规则对前台传递过来的时间字符串进行转换即可。注意: "yyyy-MM-dd HH:mm:ss" 能匹配的模式如下:

规则yyyy-MM-dd HH:mm:ss
2000-01-11 00:00:00 	可以匹配转换成功
2000-1-11 0:00:00 		匹配失败转换失败
2000/01/11 00:00:00 	匹配失败转换失败