除外情報を含む JSONView アノテーションを使用する方が適切と思われるユースケースがあります。次に例を示します。
@JSONView(Views.Report1.class, include=false)
これは、Jackson (1.9.2) で直接サポートされていない (属性を含む) ため、Jackson でこれを達成するための簡単な回避策があるのではないかと考えています。
使用事例:
- Report1 : このビューには
id, name, info1, info2, info3, info4
属性が必要です - Report2 : このビューには
id, name, info1, info2, info4
属性が必要です - Report[3 ..] 他の多くのビューが可能であると言う
プライベート int id; プライベート文字列名; プライベート文字列 info1; プライベート文字列 info2; //view=report2 の場合は無視 @JsonView(ReportViews.Report2.class , include=false) プライベート文字列 info3; プライベート文字列 info4;
私のユースケースは、ビューに基づいて属性を除外することです(またはレポートIDと言います)。JSONView アプローチでは、Report2 を除くすべてのビューを info3 属性に追加して除外する必要があります。うまくフィットしません。
このシナリオで正しいアプローチは何ですか? JSONView をカスタマイズして、除外/包含を除いて、同様のものが既に利用可能でない場合は、適切なソリューションになります。