当前位置: 首页 > news >正文

Springboot绑定Date类型时出现日期转换异常问题

一、问题核心描述

在调用接口 /device/list 时,前端传递日期字段 addTime 的格式 2025-07-17 13:30:18,导致 Spring 类型转换失败,无法将字符串自动转为 Date 类型。

问题场景
  1. 请求类型GET 请求(使用 @ModelAttribute 绑定参数)
  2. 字段类型
    • 目标类型:Date
    • 传入值:字符串 "2025-07-17 13:30:18"
  3. 错误原因
Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'bindTime'

二、总结:日期格式化场景的解决方案

1. GET请求 + @ModelAttribute方式

解决方案: 使用 Spring的@DateTimeFormat

import org.springframework.format.annotation.DateTimeFormat;public class DeviceDto {@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date addTime;
}
  • 前端传参格式: ?addTime=2025-07-17+14:30:45 (需要正确URL编码)
  • 兼容传统 Date 类型

@ModelAttribute 参数绑定 不依赖 Jackson@JsonFormat 无效)


2. POST请求 + @RequestBody方式 (JSON格式)

解决方案: 使用 Jackson的@JsonFormat

import com.fasterxml.jackson.annotation.JsonFormat;public class DeviceDto {@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")private Date addTime;
}
  • 前端传参格式:
    {"addTime": "2025-07-17 14:30:45"}
    

3. 对于 @DateTimeFormat 是否支持 POST JSON 的问题

** @DateTimeFormat 不能 用于 @RequestBody JSON 反序列化


使用建议总结

场景推荐方案前端传参示例
GET + URL参数@DateTimeFormat/path?addTime=2025-07-17 14:30
POST + 表单提交@DateTimeFormataddTime=2025-07-17+14%3A30%3A45
POST + JSON请求体@JsonFormat{"addTime":"2025-07-17 14:30"}
需要同时支持所有格式双注解+Java8 API任意格式

“表单数据用@DateTimeFormat,JSON数据用@JsonFormat,Java8时间类型是终极解决方案”

http://www.lryc.cn/news/591757.html

相关文章:

  • SpringBoot02-application配置文件
  • (转)Kubernetes基础介绍
  • 累和,累积,斐波拉契
  • X00218-基于机器学习的磁流变液迟滞性能分析python实现
  • SpringBoot01-springBoot的特点
  • 如何用 Python + LLM 构建一个智能栗子表格提取工具?
  • VSCode 配置 C# 开发环境完整教程(附效果截图)
  • 深入解析Hadoop:机架感知算法与数据放置策略
  • 在 Windows Server RDS 上配置用户配置文件磁盘查找对应的用户名
  • LeetCode|Day17|242. 有效的字母异位词|Python刷题笔记
  • 每日钉钉API探索:createDing一键发起DING消息
  • 嵌入式基础 -- ADC(模数转换器,Analog to Digital Converter)
  • Spring Boot 中 META-INF 的作用与功能详解
  • AI编程实战:如何让AI生成带参数和返回值的Python函数——以PDF文本提取为例
  • 锂电池制造行业MES特色解决方案:差异化生产管控与智能工厂实践
  • c++ 模板元编程
  • CAD model dataset 下载
  • centos7开启ntp并同步时间到指定时区
  • 航班管家sid参数加密纯算分析
  • 使用 Nacos + Higress 连接 Agent 和 MCP 服务进行使用
  • 相位中心偏置天线的SAR动目标检测
  • C++进阶-AVL树(平衡二叉查找树)(难度较高)
  • 由几道数量关系考题引起的思考
  • 【CodeTop】每日练习 2025.7.17
  • Python类型转换,深浅拷贝
  • 【深度学习】神经网络过拟合与欠拟合-part5
  • DiffPy-CMI详细安装教程
  • ubuntu 22.04 pam 模块设置用户登录失败锁定
  • 网络基础11 上公网--Internet接入技术
  • python的旧时光咖啡厅数据分析管理系统