У меня есть приложение весенней загрузки и следующий класс DTO
:
public class CarDto {
private Map<Instant, List<CarModelDto>> dateToCarModels = new HashMap<>();
// getters/setters omitted for brevity
}
Когда я звоню с postman
, это выглядит так:
{
"dateToCarModels": {
"1544612555": [{
<obj1>
},
{
<obj2>
}],
"1544785355": [{
<obj1>
}]
}
}
Этовыдает мне следующую ошибку:
JSON parse error: Cannot deserialize Map key of type
`java.time.Instant` from String "1544612555": Failed to deserialize
java.time.Instant: (java.time.format.DateTimeParseException) Text
'1544612555' could not be parsed at index 0; nested exception is
com.fasterxml.jackson.databind.exc.InvalidFormatException: (...)
Это понятно, поскольку у меня есть Instant
в качестве карты ключей (и передача String
в json - поскольку ключи JSON должны быть строками).
Есть ли лучший способ исправить это, чем написание собственного сериализатора / десериализатора ключей ?