java注解使用1——时间格式化@DateTimeFormat和@JsonFormat

6,656次阅读
没有评论

共计 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. 最终结果如下:

java 注解使用 1——时间格式化 @DateTimeFormat 和 @JsonFormat

  • 后端自动映射转化:

java 注解使用 1——时间格式化 @DateTimeFormat 和 @JsonFormat

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. 最终结果展示如下:
  • 前段参数请求实例:

java 注解使用 1——时间格式化 @DateTimeFormat 和 @JsonFormat

  • 后端自动映射转化:

java 注解使用 1——时间格式化 @DateTimeFormat 和 @JsonFormat

  • 查询自动转换返回前段的结果:

java 注解使用 1——时间格式化 @DateTimeFormat 和 @JsonFormat

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-10-03发表,共计1270字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)