Игнорирование свойства при десериализации

У меня есть простой интерфейс с getter и setter для свойства.

public interface HasMoney { 

      Money getMoney();

      void setMoney(Money money);

 }

У меня есть другой класс UserAccount, который реализует этот интерфейс.

public class UserAccount implements HasMoney {

       private Money money;

       @Override
       Money getMoney() // fill in the blanks

       @Override
       void setMoney(Money money) //, fill in the blanks

}

Моя проблема заключается в том, что я хочу сериализовать свойство money, но игнорировать его при десериализации, т. Е. Не принимать никаких значений от пользователя для этого свойства. Я пробовал @JsonIgnore на сеттере и @JsonIgnore (false) на геттере, он игнорирует его, но делает это и при сериализации.

Я попытался @JsonIgnore на установщике и @JsonProperty на установщике, просто чтобы явно сказать Джексону, что мы намерены отслеживать это свойство, которое, похоже, приводит к сбою приложения, когда свойство money отправляется на сервер, и Джексон пытается десериализовать его, вызывая исключение MalformedJsonException: не может построить объект типа Money.

Самым странным является то, что включение @JsonIgnore в сеттер и @JsonProperty в сеттер работает в большинстве случаев, когда свойство является примитивным.

Ответы на вопрос(3)

Ваш ответ на вопрос