关于前后端时间(LocalDateTime)对接问题

您所在的位置:网站首页 数据库dd是什么 关于前后端时间(LocalDateTime)对接问题

关于前后端时间(LocalDateTime)对接问题

2023-12-26 23:43| 来源: 网络整理| 查看: 265

首先时间格式很多

具体有多少种 可参考:cn.hutool.core.date.DatePattern hutool工具类定义的常量

两个注解的注意事项 // 前端 -> 后端时间处理。 请求体传 2021-10-26 15:12:49 。不可传:2021-10-26T15:12:49 。请求头不可以 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; // 前端 -> 后端时间处理。请求头可以,请求体不可以 (意思指:json入参) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime startTime;

我测试的时候,心情异常复杂。你说两个注解,在闹呢?

常见格式 // yyyy-MM-dd HH:mm:ss 2021-09-08 21:21:36 // yyyy-MM-dd'T'HH:mm:ss 2021-09-08T21:21:36 // EEE MMM dd HH:mm:ss zzz yyyy jdk Wed Sep 08 21:21:36 CST 2021

一般数据库是 dateTime或者bigint(个人更加推荐使用bigint),不管用什么样的,最重要的是统一!统一!统一!

若mysql使用 DateTime java可能用LocalDateTime(2021-09-08T21:21:36) 去接, 1-前端传参:2021-09-08T21:21:36 2-前端传参 :2021-09-08 21:21:36 对应dto字段上使用

// import com.fasterxml.jackson.annotation.JsonFormat; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

若是bigint可以写个统一转换过滤器,或者写个工具类等等吧

测试

入参是:

// 2021-09-16T09:24:20.620Z 可以 // 2021-09-16T09:24:20 可以 // 2021-09-16 09:24:20 不可以 抛出 JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String "2021-09-16 09:24:20": Failed to deserialize java.time.LocalDateTime private LocalDateTime createTime; // 加上 // import com.fasterxml.jackson.annotation.JsonFormat; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; // 2021-09-16 09:24:20 可以 // 2021-09-16T09:24:20.620Z 不可以 // 2021-09-16T09:24:20 不可以 总结 vo处理 import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.time.LocalDateTime; @Data public class TestTimeVo { // 后台 -> 前台 时间格式处理 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private LocalDateTime startTime; }

前端展示

{ "startTime": "2021-10-26 15:18:43" } DTO 处理 @Data public class TimeDTo { // 前端 -> 后端时间处理。 请求体传 2021-10-26 15:12:49 不可传:2021-10-26T15:12:49 请求头不可以 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime startTime; }

前端入参:

{ "startTime": "2021-10-26 15:18:43" }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3