Мне нужно отфильтровать некоторый атрибут только в одном контроллере.Как включить отфильтрованный фильтр с помощью JsonFilter в контроллере весны?
Fasterxml JsonFilter работает, когда я использовал его с ObjectMapper в контроллере, как следовать
FilterProvider filter2 = new SimpleFilterProvider().addFilter("somefilter",
SimpleBeanPropertyFilter.filterOutAllExcept("prop1","prop2"));
С объекта как
@JsonFilter("somefilter")
public class Bar{
String prop1;
String prop2;
String prop3;
}
Но при попытке вернуть тот же объект с пружинным регулятором
@RequestMapping(value = "/path", method = RequestMethod.GET)
protected @ResponseBody Foo handleGet(..
, где
public class Foo{
Bar p1;
Bar p2;
}
Атрибут Bar полностью опущен. В этом случае нам нужно вернуть объект нефильтрованным.
Мне нужно использовать объект mapper в контроллере, чтобы вернуть весь объект.
Есть ли способ отключить фильтр для контроллера?
Вы имеете в виду, что вы пытаетесь пропустить некоторые поля на объекте Bar для сериализации? –
Да, пропустите сериализацию при использовании ObjectMapper. Но сериализуйте все в контроллере. –
И когда контроллер использует его, вы хотите отображать поля? Извините, я не могу изменить свой предыдущий комментарий. –