Я пытаюсь отфильтровать свойства вложенных объектов. Вложенный объект аннотируется с помощью @JsonFilter. Я не могу отфильтровать панель, специфичную для дочернего фильтра. Барный фильтр применяется для всех детей. У меня есть структура JSON, как показано ниже:
public class Parent {
private Bar bar;
@JsonProperty("bar")
public Bar getBar() {
//Some logics here
//returning bar
}
}
@JsonFilter("myFilter1")
public class Child1 extends Parent {
//some properties
}
@JsonFilter("myFilter2")
public class Child2 extends Parent {
//some properties
}
@JsonFilter("Bar")
public class Bar {
private Map<String, Object> field1;
public Bar(Map<String, Object> field1) {
this.field1 = field1;
}
@JsonAnyGetter
public Map<String, Object> getField1() {
return field1;
}
}
Мой вопрос: как отфильтровать field1 только для child1, а не для child2
Я пробовал фильтровать как показано ниже:
provider.addFilter(Bar, SimpleBeanPropertyFilter.serializeAllExcept("x");
но в child2 объект также фильтруется по x.
Ожидаемый результат:
Bar
filter1
{
y:20
}
filter1
{
x:10
y:20
}