Mam przypadku użycia, gdzie wydaje się bardziej właściwe wykorzystanie JSONView adnotację z informacją o wykluczeniach, na przykład:JSONView adnotacja z włączenia/wyłączenia atrybut
@JSONView(Views.Report1.class, include=false)
To nie jest (to atrybut) bezpośrednio obsługiwany w Jackson (1.9.2) od teraz zastanawiam się, czy w Jackson jest łatwe obejście tego problemu.
przypadków użycia:
- raportu1: Pogląd ten powinien mieć
id, name, info1, info2, info3, info4
atrybuty - sprawozdania2: Pogląd ten powinien mieć
id, name, info1, info2, info4
atrybuty - raport [3 ..] Say wiele innych widoki są możliwe
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;
Mój przypadek użycia wyklucza atrybuty oparte na widokach (lub powiedzmy identyfikatory raportów). Przy podejściu JSONView muszę dodać wszystkie widoki do atrybutu info3 z wyjątkiem Report2, aby go wykluczyć. Nie pasuje dobrze.
Jakie powinny być właściwe podejście w tym scenariuszu? Jest dostosowane JSONView do wykluczenia/włączenia byłoby dobrym rozwiązaniem, jeśli nie jest coś podobnego już dostępne.
Dzięki, prawo wyłączenie nie jest możliwe bezpośrednio, ale w końcu rozszerzona 'Jackson' functionlity wspierać moje niestandardowe adnotacji, jeden przypadek użycia próbka jest tak:' @ReportView (perms = {Permission.ShowX, zgody. ShowY, ..}, anyPerm = false | true, conditions = "reflectiveConditionMethod", include = false | true) ' – harsh