У меня есть класс, такой как
import java.time.OffsetDateTime;
public class AState {
AName name;
String message;
OffsetDateTime updatedAt;
public AssetStatusState() {
}
}
//getters and setters follow
, который импортируется как зависимость maven в моем проекте. В моем проекте я получаю строку JSON из шины событий и пытаюсь проанализировать ее для объекта типа AState
. Строка JSON имеет вид:
{"name":"comps", "message":"ok", "updatedAt":"2020-03-05T02:31:17.683Z"}
Я пытаюсь разобрать это следующим образом:
this.objectMapper.convertValue(someString, AState.class)
Когда я создаю свой основной объект, я также делаю
this.objectMapper.register(new JavaTimeModule());
Но я все еще не могу устранить эту ошибку - я не знаю, что я делаю неправильно, кто-то может помочь?
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException:
Cannot construct instance of `java.time.OffsetDateTime`
(no Creators, like default construct, exist): no String-argument constructor/factory method
to deserialize from String value ('2020-03-05T02:31:17.683Z')
at [Source: UNKNOWN; line: -1, column: -1]
Однако в автономном тесте десериализация работает как шарм. Есть ли проблема со строкой JSON?