在实际项目开发过程中,注解的使用可以减少大量重复性工作,且具有通用性,非常适合提高工作效率,但是不同时间格式化的注解在使用中还是要多注意。
一般情况下,在开发java接口的时候,基本都会用到@RequestParam和@RequestBody这两个最基本的注解,对应的请求类型意味着是get和post类型,因此时间格式化的注解是基于这个方式来介绍和说明的。
1.@DateTimeFormat
此注解是将前端的时间参数传给对应后端的日期时间参数进行对应的格式化
1.1.VO或者实体类对应的注解参数写法:
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date staTime;
@TableField(exist = false)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
1.2.Get请求接口写法:
@GetMapping("/monthDetailList")
public TableDataInfo getMonthDetailList(CheckupInputInfo inputInfo)
{
List<ScrpReportCheckupInputInfo> list =
inputInfoService.getCheckupInputInfoList(inputInfo);
return getDataTable(list);
}
需要注意的点:
- Get接口的请求参数可以是一个对象,Spring MVC会根据参数名称自动将参数绑定到对应的属性上
- @GetMapping是一个组合注解,等同于 @RequestMapping(method = RequestMethod.GET)
1.3.最终结果如下:
- 前段参数请求:
- 后端自动映射转化:
2.@JsonFormat
此注解用于指定 Java 对象在序列化或反序列化转换成对应的JSON格式,也就是此注解不仅支持前段时间字符串传参给后台转成Date,还可以把后端的Date参数转成对应的时间字符串传递到前段
2.1.实体类对应的注解参数写法:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date sumbitTime;
2.2.Post接口写法
@PostMapping
public AjaxResult add(@RequestBody CheckupInputInfo inputInfo)
{
return success(checkupInputInfoService.insertCheckupInputInfo(inputInfo));
}
需要注意的点:
- Post接口的请求参数必须是一个对象,Spring MVC会根据参数名称自动将参数绑定到对应的属性上
- @PostMapping同样也是一个组合注解,等同于 @RequestMapping(method = RequestMethod.POST)
2.3.最终结果展示如下:
- 前段参数请求实例:
- 后端自动映射转化:
- 查询自动转换返回前段的结果: