2017-12-26 9 views
0

Ich sende ein Json-Objekt mit Web-Service. Die Methode, die den Aufruf erhält, hat den Methodenparameter des Modellobjekts für den entsprechenden jsonObject-Eingang, der übergeben wird. Das JSONObject wird erfolgreich in das Modellobjekt konvertiert, aber ich kann einige meiner Antworten nicht aus dem Modellobjekt testen.So erkennen Sie fehlendes Feld beim Konvertieren von JsonObject in Model Object

Beispiel: Wenn ein Pflichtfeld in der Eingabe json fehlt oder wenn ein Feld in der Eingabe json auf Null gesetzt ist, dann wird in beiden Fällen das Modellobjektfeld als null ausgegeben.

Ich bin nicht in der Lage zu erkennen, ob der Null wegen Feld fehlt oder das Feld auf Null gesetzt ist.

Kann mir jemand eine Lösung vorschlagen?

Mein letzter Ausweg dafür ist, ich werde Methodenparametereingabe als Zeichenfolge und nicht mein Modellobjekt erhalten und dann bedingte Prüfungen verwenden, überprüfen Sie die Eingabezeichenfolge und erhalten Sie meine Antworten entsprechend. Aber mein JSON-Eingabeobjekt ist sehr groß und ich hoffe, dass es einen besseren Ausweg geben könnte.

Es ist Spring Boot-Projekt.

Code Snippet:

JSON Object being sent 

{"orgType":null, "orgLocation": "Geneva" , //other fields} 


@RequestMapping(value="/addOrganizations", method= RequestMethod.POST) 
public ResponseEntity addOrganization(@RequestBody Organization organization){ 
// code goes here 
} 

Wenn ich versuche, mit

{"orgType":null, "orgLocation": "Geneva" , //other fields} 

oder:

{"orgLocation": "Geneva" , //other fields} 

und überprüfen Sie mit Debugger innerhalb addOrganization Methode, dann ist der Wert null sowohl in der Fälle.

Modellklasse:

public class Organization{ 

@JsonInclude(JsonInclude.Include.NON_EMPTY) 
private String orgType; 

private String orgLocation; 

// other fields and getters and setters. 

} 

Antwort

Verwandte Themen