BP
Size: a a a
BP
NK
ДР
NK
DS
AG
@JsonInclude работает на уровне класса. Это значит, что объект этого класса может быть полем любого объекта и это будет везде работать. Поэтому, если бы она работала на все вложенные поля, то могла бы подпортить другие сериализацию вообще несвязанных объектов.@JsonInclude(Include.NON_NULL)
class A { Long value; }
class B { A a; }
class C { A a; }value будет пропущено всегда, если оно null: и для B и для C. И так мы представляем себе механику jackson’а.propagate, который позволяет распространять эту аннотацию на поля:class A { Long value; }
class B { A a; }
@JsonInclude(Include.NON_NULL, propagate=true)
class C { A a; }B поле a не будет сериализовано, если оно равно null, хотя на самом классе нет никакой аннотации. Это совершенно неочевидно, если классы B и C находятся в коде далеко друг от друга.NK
N
ДК
ДК
N
A
AA
A
AA
AA
A
B1