2016-06-23 5 views
0

Ich schreibe eine REST-API, die eine PUT-Operation hat, mit der ich die Daten in MongoDB speichern möchte.Anfragekörper kommt als Null an REST API-Endpunkt

Meine PUT-Operation akzeptiert Daten im JSON-Format, die im selben Format in MongoDB eingefügt werden. Problem, das ich mit Blick auf bin, ist, dass, wenn ich ein JSON-Objekt in der Anfrage Körper liefern, erhalte ich es als NULL auf der Serverseite (REST API-Endpunkt)

Unter meinen Code in der Steuerung ist

@RequestMapping(method = RequestMethod.PUT) 
    @ResponseBody 
    @Consumes(MediaType.APPLICATION_JSON_VALUE) 
    Environment_per_user SaveData(Environment_per_user Env_Details) { 
     return service.SaveEnvDetails(Env_Details); 
    } 

I verwende den REST-Client von Mozilla Firefox, um meinen Web-Service zu testen.

Debugger an meinem REST API-Endpunkt, der zeigt, dass die Anforderung Körper als NULL kommt

Ich bin sicher, dass ich etwas Elementares bin fehlt aber irgendwie bin ich nicht in der Lage, es herauszufinden.

Antwort

0

Beantworten Sie meine eigene Frage, wenn es morgen jemandem hilft.

Das habe ich gemacht. @RequestBody-Annotation in meiner Controller-Methode hinzugefügt. Dies würde anzeigen, dass das JSON-Objekt Teil des Anfragetext ist.

@RequestMapping(method = RequestMethod.PUT) 
    @ResponseBody 
    @Consumes(MediaType.APPLICATION_JSON_VALUE) 
    Environment_per_user SaveData(@RequestBody Environment_per_user Env_Details) { 
     return service.SaveEnvDetails(Env_Details); 
    } 

Und in den Anfrage-Header in meinem REST-Client -> hinzugefügt Header, Content-Type = 'application/json'.

Verwandte Themen