Ich sende eine POST-Anfrage von meiner Android-Anwendung an einen Server. Der Server wird mit Spring Framework entwickelt. Die Anfrage wird vom Server empfangen, aber der von mir gesendete Parameter ist null / leer (im Protokoll angezeigt).
Der Code zum Senden der POST-Anfrage lautet:
%Vor%Ich habe auch versucht, HttpParams wie folgt zu setzen, aber es ist auch fehlgeschlagen:
%Vor%Der Code auf der Serverseite, der diese Anfrage erhalten hat, lautet:
%Vor%Die Logger-Nachricht, die ich protokolliere, zeigt:
%Vor%Irgendwelche Ideen, was mir hier fehlt?
Vielleicht konvertiert Spring Ihren POST
-Körper nicht in einen Model
. Wenn das der Fall ist, wird es nicht wissen, was das Attribut json
auf Ihrem Model
ist, weil es kein Model
!
Sehen Sie sich die Spring-Dokumentation an in Bezug auf die Zuordnung der Anfrage Körper .
Sie sollten in der Lage sein, Springs MessageConverter
-Implementierungen zu verwenden, um das zu tun, was Sie wollen. Sehen Sie sich speziell FormHttpMessageConverter
an, die Formulardaten in / aus MultiValueMap<String, String>
konvertiert.
Wenn Sie diese Zeile Ihrer XML-Konfiguration hinzufügen, sollte standardmäßig FormHttpMessageConverter
aktiviert sein:
Ich denke, Sie müssen einen Content-Type-Header vom Client hinzufügen. Der MessageConverter für JSON registriert sich selbst mit einigen Inhaltstypen, die er akzeptiert, einer davon ist application / json.
Wenn Sie mit einem Inhaltstyp senden, der von keinem MessageConvert verarbeitet wird, funktioniert es nicht.
Fügen Sie "Content-type: application / json" als Kopfzeile hinzu.
Tags und Links android spring spring-mvc post