前端传递的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 匹配失败,转换失败