Was ist die JSON View-Klasse in Jackson und wie funktioniert sie?

8

Ich verstehe nicht, was Jacksons @JasonView ist ( Views.MyClass.class ). Ich weiß, dass ich die POJO-Felder und -Methoden auf diese Weise mit Anmerkungen versehen kann um nicht annotierte zu filtern, die mit JSON serialisiert werden sollen. Aber was ist die Klasse Views.Myclass? Ist es eine Vorlagenklasse für Jackson Bibliothek?

Und warum gibt es viele Klassen innerhalb der Klasse Views? Zum Beispiel so:

%Vor%

Warum wird es benötigt und wie funktioniert es?

    
IngeniousTom 09.07.2016, 08:09
quelle

1 Antwort

20

Verwenden Sie @JsonView , um Felder abhängig vom Serialisierungskontext zu filtern. Bei der Rückgabe von Daten an einen REST-Client müssen wir abhängig davon, welcher REST-Service aufgerufen wurde, festlegen, welche Daten bei Verwendung desselben Datenmodells serialisiert werden.

Nehmen wir an, wir möchten zwei REST-Dienste erstellen:

Der erste Dienst gibt einige Benutzerinformationen zurück, wie Vorname und Nachname, aber nicht die angehängten Nachrichten.

Der zweite Dienst gibt alle Informationen aus dem ersten Dienst sowie die dem aktuellen Benutzer zugeordneten Nachrichten zurück.

Beispiel für POJO-Klassen mit @JsonView Annotation

Benutzer-Pojo-Klassen

%Vor%

Nachrichten-Pojo-Klasse

%Vor%

Ruhe-Controller

%Vor%     
Gangadhar 09.07.2016, 08:19
quelle

Tags und Links