Джексон @JsonIgnore изменил семантику? - PullRequest
9 голосов
/ 15 февраля 2012

Мы только что обновили некоторые зависимости maven, которые вызвали обновление Джексона с 1.7.x до 1.9.x

Мы используем, чтобы аннотировать @JsonIgnore для методов установки, для методов, которые не должны устанавливаться на стороне клиента. например: владелец объекта (должен быть установлен из субъекта аутентификации) и т. д.

Нам кажется, что семантики этой аннотации изменились, возможно ли это? теперь поле было jsonignored во всех случаях, а не только при установке.

это тот случай? Есть ли в 1.9 альтернативный способ реализовать игнорирование только SET?

спасибо! т.

1 Ответ

9 голосов
/ 16 февраля 2012

Хорошо, я думаю, что нашел и прямо упомянул эту проблему в javadoc.(с документацией Джексона пройти нелегко).

Кроме того, начиная с Jackson 1.9, если это единственная аннотация, связанная со свойством, это также приведет к игнорированию всего свойства.: то есть, если setter имеет эту аннотацию, а getter не имеет аннотаций, getter также фактически игнорируется.Разные средства доступа могут использовать разные аннотации;поэтому, если игнорируется только «getter», другим методам доступа (setter или field) потребуется явная аннотация для предотвращения игнорирования (обычно JsonProperty).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...