【发布时间】:2017-05-12 23:19:26
【问题描述】:
{
"toDepartureDate": "2016-12-28",
"fromDepartureDate": "2016-12-28"
}
我想在 json 中以 java.time.LocalDate 的形式发布上述字符串日期,但我收到 400 Bad Request 作为错误。有人可以在这里帮忙吗?我用过@JsonFormat,但它也没有帮助我。
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone = "GMT+5:30")
private LocalDate fromDepartureDate;
@JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone = "GMT+5:30")
private LocalDate toDepartureDate;
{
"timestamp": 1482942147246,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.validation.BindException",
"errors": [
{
"codes": [
"typeMismatch.flightReportSearchDto.fromDepartureDate",
"typeMismatch.fromDepartureDate",
"typeMismatch.java.time.LocalDate",
"typeMismatch"
],
"arguments": [
{
"codes": [
"flightReportSearchDto.fromDepartureDate",
"fromDepartureDate"
],
"arguments": null,
"defaultMessage": "fromDepartureDate",
"code": "fromDepartureDate"
}
],
"defaultMessage": "Failed to convert property value of type [java.lang.String] to required type [java.time.LocalDate] for property 'fromDepartureDate'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@com.fasterxml.jackson.annotation.JsonFormat java.time.LocalDate] for value '2016-12-28'; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [2016-12-28]",
"objectName": "flightReportSearchDto",
"field": "fromDepartureDate",
"rejectedValue": "2016-12-28",
"bindingFailure": true,
"code": "typeMismatch"
},
{
"codes": [
"typeMismatch.flightReportSearchDto.toDepartureDate",
"typeMismatch.toDepartureDate",
"typeMismatch.java.time.LocalDate",
"typeMismatch"
],
"arguments": [
{
"codes": [
"flightReportSearchDto.toDepartureDate",
"toDepartureDate"
],
"arguments": null,
"defaultMessage": "toDepartureDate",
"code": "toDepartureDate"
}
],
"defaultMessage": "Failed to convert property value of type [java.lang.String] to required type [java.time.LocalDate] for property 'toDepartureDate'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [@com.fasterxml.jackson.annotation.JsonFormat java.time.LocalDate] for value '2016-12-29'; nested exception is java.lang.IllegalArgumentException: Parse attempt failed for value [2016-12-29]",
"objectName": "flightReportSearchDto",
"field": "toDepartureDate",
"rejectedValue": "2016-12-29",
"bindingFailure": true,
"code": "typeMismatch"
}
]
}
【问题讨论】:
-
看起来像这个的副本:stackoverflow.com/questions/28802544/…
标签: java json api spring-boot jackson