【已解决】java.text.ParseException: Unparseable date

发布时间 2024-01-02 15:16:27作者: 靠谱杨

今天在工作的时候遇到一个问题,我的一个字段queryDate保存不了,总是null值:
java.text.ParseException: Unparseable date

报错的原因是日期格式转换错误,我的数据库字段是这样定义的:
query_date date 类型

传递的参数格式是这样的:

{
"bpCreditReports": [
{
"bpName": "测试1",
"chinaLoanCode": "000000",
"enterpriseUnifiedCreditCode": "91610131MA6W0GMK4D",
"queryDate": "2023-12-29",
"enterpriseReport": "测试报告1"
},
{
"bpName": "测试2",
"chinaLoanCode": "112233",
"enterpriseUnifiedCreditCode": "91610131MA6W0GMKJJ",
"queryDate": "2023-11-02",
"enterpriseReport": "测试报告2"
}
],
"createdBy": "1"
}

实体类中queryDate这个字段也是Date类型
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date queryDate;

后经排查问题出现在参数上:
"queryDate": "2023-11-02",
这样的参数是存在问题的,如果后端该字段定义为Date类型,那么日期后面的时间 00:00:00是必要的,否则没办法自动
转换为日期格式(用到了@RequestBody注解)。

修改后的参数格式可以为:
"queryDate": "2023-11-02 00:00:00",