Ho un caso d'uso in cui sembra più opportuno utilizzare JSONView annotazioni con informazioni esclusione, ad esempio:JSONView annotazioni con inclusione/esclusione attributo
@JSONView(Views.Report1.class, include=false)
Questo non è (comprendono attributo) direttamente supportato a Jackson (1.9.2) A partire da ora, mi chiedo se c'è una soluzione facile a Jackson per raggiungere questo obiettivo.
Caso d'uso:
- Report1: Questo punto di vista dovrebbe avere
id, name, info1, info2, info3, info4
attributi - Report2: Questo punto di vista dovrebbe avere
id, name, info1, info2, info4
attributi - Report [3 ..] dicono molti altri punti di vista sono possibili
private int id; private String name; private String info1; private String info2; //ignore if view=report2 @JsonView(ReportViews.Report2.class , include=false) private String info3; private String info4;
Il mio caso d'uso esclude gli attributi in base alle viste (o dice id-report). Con l'approccio JSONView ho bisogno di aggiungere tutte le viste all'attributo info3 tranne Report2 per farlo escludere. Non si adatta bene
Quale dovrebbe essere l'approccio corretto in questo scenario? La JSONView personalizzata ad eccezione dell'esclusione/inclusione sarebbe la soluzione giusta se non era già disponibile qualcosa di simile.
Grazie, l'esclusione a destra non è direttamente possibile, ho finalmente esteso 'functionlity Jackson' per sostenere la mia annotazione personalizzate, uno dei casi d'uso del campione è come:' @ReportView (permanenti = {Permission.ShowX, Autorizzazione. ShowY, ..}, anyPerm = false | true, conditions = "reflectiveConditionMethod", include = false | true) ' – harsh