Я использую @JsonFilter, чтобы игнорировать некоторые свойства, отправленные в ответе Json.Это прекрасно работает, когда я запускаю свой контроллер через почтальон с запущенным приложением.Однако, когда я пытаюсь проверить ответ json с помощью mockmvc, свойства, которые должны игнорироваться, по-прежнему присутствуют.
@Data
@JsonFilter("empFilter")
public class Employee {
private int id;
private String name;
private int age;
private Integer test;
}
@GetMapping("/employee/ignoreProperties")
public MappingJacksonValue retrieveSomeBean() {
Employee emp = new Employee();
emp.setAge(10);
emp.setId(1);
emp.setName("ana");
emp.setTest(9);
Set<String> set = new HashSet<>();
set.add("test");
return filterJson(emp, "empFilter", set);
}
private MappingJacksonValue filterJson(Object object, String filterName, Set<String> properties) {
SimpleBeanPropertyFilter filter = SimpleBeanPropertyFilter.serializeAllExcept(properties);
FilterProvider filters = new SimpleFilterProvider()
.setFailOnUnknownId(false)
.addFilter(filterName, filter);
MappingJacksonValue mapping = new MappingJacksonValue(object);
mapping.setFilters(filters);
return mapping;
}