Jackson -Filter Свойства вложенного объекта дочернего объекта, который имеет аннотацию @Jsonfilter - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь отфильтровать свойства вложенных объектов. Вложенный объект аннотируется с помощью @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
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...