Подтвердить что ты не робот

Как определить дополнительное поле json с использованием Jackson

У меня есть объект с одним необязательным полем и не могу найти подходящую аннотацию для его моделирования. Любые идеи, каков правильный способ сделать это с Джексоном?

4b9b3361

Ответ 1

В Jackson вы не можете различать необязательные и необязательные поля. Просто объявите любое поле в вашем POJO. Если в вашей структуре JSON нет поля, то Джексон не будет вызывать сеттер. Вы можете следить за тем, как сеттер был вызван с флагом в POJO.

Ответ 2

Поздняя вечеринка...

Используя Jackson 2.8.6 через Spring HttpMessageConverter 4.3.6, я должен был изменить параметр setter на развернутый тип, например:

class Foo {
    private Optional<Bar> bar;

    public void setBar(Bar bar) { // NOT Optional<Bar>, this gives me Optional.empty()
        this.bar = Optional.of(bar);
    }

    // getter doesn't need to be changed
}