У меня есть класс, как это:Настройка Джексона бросить исключение, когда поле отсутствует
public class Person {
private String name;
public String getName(){
return name;
}
}
Я использую ObjectMapper сконфигурированный так:
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
У меня есть строка str
что содержит это { "address" : "something" }
. Обратите внимание, что в json нет поля «name». Если я сделаю что-то вроде этого:
mapper.readValue(str, Person.class);
, то я действительно возвращаю объект Person с именем, установленным в null. Есть ли способ настроить mapper вместо исключения исключения или вернуть нулевую ссылку вместо Person? Я хочу, чтобы Джексон считал пропущенные поля неудачными и не хотел делать явные проверки null в полях результирующего объекта.
Это не работает. Я пытаюсь сделать это сбой при отсутствующих свойствах вместо того, чтобы устанавливать их в null. Я не хочу, чтобы он терпел неудачу по неизвестным свойствам. – mushroom
Жаль, что все было не так ясно. Я отредактировал ответ. – vtor