我经历了许多stackoverflow的问题和github的问题,但是没有得到我的问题的解决方案。我的课程如下:
@JsonFilter("apiFilter")
Class Employee{
String id,
String name;
Address address,
}
@JsonFilter("apiFilter")
Class Address{
String id,
String city,
String state,
String country,
}
我想使用 @JosnFilter
在返回api的响应时,我可以用下面的代码集过滤雇员的属性
SimpleBeanPropertyFilter propertyFilter = SimpleBeanPropertyFilter.filterOutAllExcept("name", "address");
FilterProvider filters = new SimpleFilterProvider().addFilter("apiFilter", propertyFilter).setFailOnUnknownId(false);
但是我需要过滤嵌套对象的属性,例如使用点(.) "address.city"
以及 "address.state"
将被传递进来 filterOutAllExcept("address.state","address.city")
. 我不能为地址使用不同的筛选器,因为我需要基于对象引用点(.)筛选属性,其属性如下 address.state
我已经讨论了这些github问题,但是jackson最近没有更新对嵌套对象属性的支持。
https://github.com/fasterxml/jackson-core/issues/230
https://github.com/fasterxml/jackson-databind/issues/1040
https://github.com/spring-projects/spring-framework/issues/17187
任何建议都会大有帮助。。谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!