Невозможно десериализовать строку в объект Java - PullRequest
1 голос
/ 08 апреля 2020

(Класс данных) Сущность. java

@Data
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
public class Entity implements Serializable {
    private String id;
    private String name;
    private String status;
    private ZonedDateTime registrationDatetime;
    private ZonedDateTime updatedDatetime;
    private ZonedDateTime createdDatetime;
}

(Класс данных) Сущности. java

@Data
@AllArgsConstructor
@JsonDeserialize
public class Entities implements Serializable {
    private List<Entity> entities;
}

Я пытался выполнить этот оператор:

TypeReference<ResponseModel<Entities>> typeReference = new TypeReference<ResponseModel<Entities>>() {};
ResponseModel<Entities> response = objectMapper.readValue(result.getResponse().getContentAsString(), typeReference);

И я получил эту ошибку:

com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `model/Entities` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

Я уже поставил @JsonDeserialize, а также implements Serializable что я пропустил?

1 Ответ

1 голос
/ 08 апреля 2020

Попробуйте дать @NoArgsConstructor также для класса Entities. Это должно работать.

...