Я пытаюсь использовать withRoot конвертер, чтобы получить часть моего ввода и преобразовать его в Java-объект, что-то вроде этого:
ObjectMapper mapper = new ObjectMapper();
try {
mapper.readerFor(clazz).withRootName("externalModel").readValue(hit.getSourceAsString());
} catch (IOException e) {
e.printStackTrace();
}
где clazz - мой объект, подобный этому:
@JsonRootName("externalModel")
public class ExternalModel {
private String externalId;
private String date;
private String description;
public ExternalModel() {
}
public PublicationDto(String externalId, String date, String description) {
...
}
// some getters...
}
итак, я ожидаю перевести что-то вроде этого
{
"model": {
/// many fields
},
"externalModel": {
// many fields as well
}
На данный момент модель и externalModel обе являются корневыми ссылками, однако я получаю ошибку, подобную этой:
Причина: com.fasterxml.jackson.databind.exc.MismatchedInputException: корневое имя «модель» не соответствует ожидаемому («externalModel»)
Понятия не имею, как добраться до externalModel без прохождения модели, это возможно?
Идеи