filter嵌套对象属性uising@jsonfilter

ycl3bljg  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(207)

我经历了许多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
任何建议都会大有帮助。。谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题