24-异常-DateTimeParseException

24-异常-DateTimeParseException

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

(技术)微信公众号:CodeZeng1998

(生活)微信公众号:好锅

其他平台:CodeZeng1998好锅


请添加图片描述

问题描述:日期格式转化异常


报错信息:

2025-02-17 09:50:54.980 ERROR 19976 [TID: N/A] --- [nio-8080-exec-1] c.s.l.sdk.exception.BizExceptionHandler  : [lab-sdk]---未知异常==> method=POST requestURI=/location/exportList code=-1 msg=JSON parse error: Cannot deserialize value of type `java.time.LocalDate` from String "2025-02-13": Failed to deserialize java.time.LocalDate: (java.time.format.DateTimeParseException) Text '2025-02-13' could not be parsed at index 4

源码:

    /**
     * 开始时间
     */
    @Schema(description = "开始时间")
    @DateTimeFormat(pattern = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8")
    private LocalDate startTime;


    /**
     * 结束时间
     */
    @Schema(description = "结束时间")
    @DateTimeFormat(pattern = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy/MM/dd", timezone = "GMT+8")
    private LocalDate endTime;

传入参数:

{
  "startTime": "2025-02-13",
  "endTime": "2025-02-17"
}

错误原因:报错原因很明显,出现 DateTimeParseException,从给出的错误日志来看,这是一个 JSON 解析错误,具体问题在于尝试把字符串 "2025-02-13" 反序列化为 java.time.LocalDate 类型时失败了。

可能的原因:

  1. 日期格式不匹配:Jackson 默认采用的日期格式可能和输入的 "2025-02-13" 格式不相符,所以无法正确解析。
  2. 缺少日期格式化配置:在项目里没有对 LocalDate 类型配置合适的日期格式化方式。

解决方案:传入参数和接受参数的日期格式统一即可。

更多内容欢迎关注我(持续更新中,欢迎Star✨)

Github:CodeZeng1998/Java-Developer-Work-Note

(技术)微信公众号:CodeZeng1998

(生活)微信公众号:好锅

其他平台:CodeZeng1998好锅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值