Ich habe eine komplizierte Klasse in meinem REST API:Kann ich eine Eigenschaft mit Jackson @ JsonView serialisieren?
class Complicated {
String foo
Integer bar
Instant baz
...
// lots more
}
ich auch eine andere Klasse, die eine Sammlung von Complicated
enthält:
class HasComplications {
String description
List<Complicated> complications
}
Als ich serialisiert meine HasComplications
(mit Spring MVC), I nur wollen einen Ausschnitt jedes Complicated
:
{
description: "hello world",
complications: [ {
foo: "foo1",
bar: 42
] }
}
Wenn ich direkt einSerialisierung bin, kann ich @JsonView
verwenden Jackson zu erzählen, die von Eigenschaften auf serialisiert:
class Complicated {
@JsonView(Views.Snippet) String foo
@JsonView(Views.Snippet) Integer bar
Instant baz
...
// lots more
}
Allerdings, wenn ich serialisiert Complicated
transitively im complications
Eigenschaft, Jackson alle Eigenschaften serialisiert. Gibt es eine Möglichkeit für mich, es zu deklarieren: "Verwenden Sie diese Ansicht, wenn Sie diese Eigenschaft serialisieren"?
class HasComplications {
String description
@UseJsonView(Views.Snippet)
List<Complicated> complications
}
Es sieht so aus, als ob vor einiger Zeit eine ähnliche Funktion angefordert wurde, und ich habe es kommentiert. – chrylis