所有分类
  • 所有分类
  • 未分类

SpringBoot-全局处理LocalDateTime请求格式

简介

说明

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

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

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

方案简介

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

  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形式

局部方案:@DateTimeFormat

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

全局方案1:自定义Converter

此内容仅限VIP查看,请先
1

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录