2016-04-15 15 views
1

Ich verwende Spring Boot 1.3.3 und erstellt einen REST-Controller, um ein JSON-Objekt in Mongo DB-Sammlungen hinzuzufügen.Spring Boot JSON Serialisierung

Die vom JSON-Objekt hinzuzufügenden Daten sind eine Teilmenge der von der Anforderung empfangenen Informationen. Also habe ich ein JSON-Anforderungsobjekt (DTO) und ein Entitätsobjekt (Modell) erstellt, das in der Mongo-Sammlung gespeichert werden soll.

Ich habe jetzt ein Problem, da das JSON-Anforderungsobjekt mit Standardwerten für Ganzzahl (0) und booleschen Datentypen (false) gefüllt ist, auch wenn diese Felder nicht als Teil der Anforderungsnachricht ausgefüllt sind. Ich möchte diese Werte nicht in der Datenbank speichern.

Ich habe die Eigenschaften "spring.jackson.serialization-inclusion = non-null" und "spring.jackson.serialization-inclusion = non-default" in meiner Datei application.properties hinzugefügt, aber die Felder sind noch mit Standardwerten gefüllt .
Könnte mir bitte jemand helfen, dieses Problem zu lösen und die Standardwerte zu umgehen. Hinweis: Es funktioniert gut für String-Datentyp, da sie standardmäßig Nullwerte wären, wenn sie nicht erstellt werden.

Vielen Dank im Voraus

+1

Hallo alle, das Problem wird nun durch Ändern der primitiven Datentypen in ihre entsprechenden Wrapper-Klassen gelöst. (Bsp: von boolesch zu Boolean, int zu Ganzzahl). – user3537498

Antwort

2

String Attribute akzeptieren den Nullwert, während die primitiven Attribute einen Standardwert haben zum Beispiel 0 Standardwert ist für die int-Attribute .. dies zu vermeiden statt Integer verwenden, um Werte aufweisen.