共计 1270 个字符,预计需要花费 4 分钟才能阅读完成。
在实际项目开发过程中,注解的使用可以减少大量重复性工作,且具有通用性,非常适合提高工作效率,但是不同时间格式化的注解在使用中还是要多注意。
一般情况下,在开发 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 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. 最终结果展示如下:
- 前段参数请求实例:
- 后端自动映射转化:
- 查询自动转换返回前段的结果:
正文完