Ich habe eine Klasse wie folgt:
%Vor%Ich verwende einen ObjectMapper, der wie folgt konfiguriert ist:
%Vor% Ich habe eine Zeichenfolge str
, die diese { "address" : "something" }
enthält. Beachten Sie, dass es kein "Name" -Feld im JSON gibt. Wenn ich so etwas mache:
Dann bekomme ich tatsächlich ein Person-Objekt zurück, dessen Name auf Null gesetzt ist. Gibt es eine Möglichkeit, den Mapper so zu konfigurieren, dass stattdessen eine Ausnahme ausgelöst wird oder eine Nullreferenz anstelle einer Person zurückgegeben wird? Ich möchte, dass Jackson fehlende Felder als Fehler betrachtet und keine expliziten Null-Überprüfungen der Felder des resultierenden Objekts durchführen möchte.
Leider wird das in diesem Moment von Jackson nicht unterstützt.
Lösung könnte sein, die Validierung in Ihrem Konstruktor hinzuzufügen. Im Idealfall, wenn Sie nicht möchten, dass diese Werte als Nullen serialisiert werden, bedeutet dies, dass Sie sie nicht als Nullen haben sollten (auf andere Weise konstruiert). Zum Beispiel
%Vor%Dies passt jedoch möglicherweise nicht in allen Situationen, insbesondere wenn Sie das Objekt nicht über Serialisierung / Deserialisierung verwenden.
Obwohl sie required
-Attribut in @JsonProperty
Annotation haben, wird sie bei der Deserialisierung überhaupt nicht unterstützt und nur zum Dekorieren von JSON-Schemas eingeführt. Sehen Sie sich das Thema
Tags und Links jackson