【发布时间】:2019-12-18 04:15:22
【问题描述】:
我遇到了一个问题,我不能接受错误的日期格式。
例如:
如果 api 请求收到日期“2019-14-10”,我无法接受。 现在,当我收到它时,JsonFormat 给了我 2020-02-10。
为了解决这个问题,我添加了 lenient=OptBoolean.FALSE,如下所示:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "America/Vancouver", lenient = OptBoolean.FALSE)
private Date effectiveDate;
现在的问题是,当我通过错误的日期 (2019-14-10) 调用 api 时,我只会收到 400 Bad request response。
是否可以为此验证创建自定义响应?
例如,我可以返回这样的内容吗:
{
"code": {
"value": 4,
"name": "InvalidRequest"
},
"message": "{effectiveDate=Date is invalid. Please choose a valid date}"
}
或者至少是错误信息。
【问题讨论】:
标签: java jackson jackson2 jackson-dataformat-xml