原文网址:SpringBoot--LocalDateTime格式转换(前端入参)_IT利刃出鞘的博客-CSDN博客

简介

说明

项目我们经常会有前后端时间转换的场景,比如:创建时间、更新时间等。一般情况下,前后端使用时间戳或者年月日的格式进行传递。

如果后端收到了前端的参数每次都手动转化为想要的格式,后端每次将数据传给前端时都手动处理为想要的格式实在是太麻烦了。

基于如上原因,本文用示例介绍SpringBoot全局格式配置,将前端传过来的时间自动转化为LocalDateTime。(本文只介绍年月日格式的转化方法,例如:2021-09-16 21:13:21 => LocalDateTime。时间戳转化为LocalDateTime的方法类似)。

相关网址

SpringBoot--LocalDateTime格式转换(响应)_IT利刃出鞘的博客-CSDN博客

方案简介

要分两种情景进行配置(根据Content-Type的不同):

  1. application/x-www-form-urlencoded 和 multipart/form-data
    1. 本处将此种情况记为:form形式
  2. application/json
    1. 即:使用@RequestBody的接口。
    2. 本处将此种情况记为:json形式

备注

有人说,可以这样配置:

spring:
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    serialization:
      write-dates-as-timestamps: false

这种配置只适用于Date这种,不适用于LocalDateTime等。LocalDateTime的序列化用的这种格式:"2020-08-19T16:30:18.823+00:00",反序列化用的是另外的格式。

form形式

局部方法:

@ApiModelProperty("创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;

下边是全局方法:

方案1:自定义Converter

上边是本文的部分内容,为便于维护,全文已转移到此网址:SpringBoot-全局处理LocalDateTime请求格式 - 自学精灵

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐