我有一个用例,似乎更适合将 JSONView 注释与排除信息一起使用,例如:
@JSONView(Views.Report1.class, include=false)
到目前为止,杰克逊(1.9.2)不直接支持(包括属性),我想知道杰克逊是否有一个简单的解决方法来实现这一点。
用例:
- Report1:这个视图应该有
id, name, info1, info2, info3, info4
属性 - Report2:这个视图应该有
id, name, info1, info2, info4
属性 - 报告[3 ..] 说许多其他观点是可能的
私人 int id; 私有字符串名称; 私人字符串信息1; 私人字符串信息2; //如果 view=report2 则忽略 @JsonView(ReportViews.Report2.class , include=false) 私有字符串 info3; 私有字符串 info4;
我的用例是排除基于视图的属性(或者说报告 ID)。使用 JSONView 方法,我需要将除 Report2 之外的所有视图添加到 info3 属性以将其排除。不太合适。
在这种情况下,正确的方法应该是什么?如果没有类似的东西已经可用,是否定制 JSONView 以排除/包含将是正确的解决方案。