In der Controller-Methode, überprüfen request.format
. Es sollte json
angeben. Ich schätze, es wird nicht hier sein, aber es kann Ihnen Hinweise geben, wie Ihre Nutzlast interpretiert wird.
In Ihrer Config.groovy Datei, würde ich die folgenden Werte gesetzt:
grails.mime.file.extensions = false
grails.mime.use.accept.header = false
In derselben Datei, Ihre grails.mime.types
überprüfen. stellen Sie sicher, dass es json: ['application/json', 'text/json']
enthält, was wahrscheinlich ist, aber setzen Sie es über */*
. Diese Einträge werden der Reihe nach ausgewertet (dies war in den Versionen vor Version 2.1 der Fall, nicht bestätigt, es ist jetzt, aber was zum Teufel). In Verbindung damit, wie Aiolos erwähnt, setzen Sie Ihre content-type
Header zu einem der oben genannten Mime-Typen.
Schließlich Test mit Curl, nach Tomasz Kalkosiński, oder, um RESTClient für FF zu verwenden, klicken Sie auf "Kopfzeilen" ganz oben auf der Clientseite (es gibt 4 klickbare Elemente oben links; Kopfzeilen sind eins Von einem frischen RESTClient müssen Sie möglicherweise "Benutzerdefinierte Kopfzeile" wählen. Ich kann mich nicht erinnern)
Sie müssen den contentType Ihrer Anfrage auf 'application/json' setzen, damit Ihr Controller den geposteten JSON automatisch parst/unmarshallt. Wie senden Sie Ihre Anfrage? – aiolos
Ich benutze Rest Client firefox extenstion. Wie stelle ich es ein? –
Fügen Sie eine Zeile in Anforderungsheadern hinzu: 'Content-Type' mit dem Wert' application/json'. Ich kann sehen, dass der Rest-Client eine Tabelle namens Request Headers hat - setzen Sie sie dorthin. –