Eine PUT-Anforderung mit JSON-Daten mithilfe von HttpURLConnection funktioniert nicht

8

Ich versuche eine PUT-Anfrage mit JSON-Daten unter Verwendung von HttpURLConnection in Java zu machen. Die Art, wie ich es mache, funktioniert nicht. Ich bekomme keine Fehler, daher weiß ich nicht, was das Problem ist.

%Vor%

Und hier ist die Anfrage, die ich eigentlich machen möchte:

Ich habe bereits GET-Anfragen an die Ressource innerhalb derselben App gestellt und es hat gut funktioniert. Ich wäre sehr dankbar für alle Tipps, wie kann ich das debuggen oder wie kann ich versuchen, es auf andere Weise zu tun. Bisher habe ich versucht, nur OutputStream anstelle von OutputStreamWriter zu verwenden, aber es funktioniert auch nicht.

    
Booyaches 28.03.2013, 09:27
quelle

1 Antwort

21
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ qstntxt ___

Ich versuche eine PUT-Anfrage mit JSON-Daten unter Verwendung von %code% in Java zu machen. Die Art, wie ich es mache, funktioniert nicht. Ich bekomme keine Fehler, daher weiß ich nicht, was das Problem ist.

%Vor%

Und hier ist die Anfrage, die ich eigentlich machen möchte:

Ich habe bereits GET-Anfragen an die Ressource innerhalb derselben App gestellt und es hat gut funktioniert. Ich wäre sehr dankbar für alle Tipps, wie kann ich das debuggen oder wie kann ich versuchen, es auf andere Weise zu tun. Bisher habe ich versucht, nur %code% anstelle von %code% zu verwenden, aber es funktioniert auch nicht.

    
___ tag123httpurlconnection ___ Die HttpURLConnection-Instanz wird verwendet, um eine einzelne Anfrage zu erstellen, aber die zugrunde liegende Netzwerkverbindung zum HTTP-Server kann transparent von anderen Instanzen geteilt werden. ___ answer15679501 ​​___

Die Sun (Oracle) -Implementierung von HttpURLConnection speichert den Inhalt Ihres Posts im Cache, sofern Sie nicht im Streaming-Modus angeben. Der Inhalt wird gesendet, wenn Sie mit der Antwort wie folgt interagieren:

%Vor%

Gemäß RFC 4627 können Sie auch keine einfachen Anführungszeichen in Ihrem json verwenden (obwohl einige Implementierungen anscheinend nicht wichtig sind).

Ändern Sie also Ihre Nutzlast zu:

%Vor%

Dieses Beispiel funktioniert für mich

%Vor%     
___ tag123http ___ Das Hypertext Transfer Protocol (HTTP) ist ein Netzwerkprotokoll auf Anwendungsebene, das für die Übertragung von Inhalten im World Wide Web verwendet wird. ___ qstnhdr ___ Eine PUT-Anforderung mit JSON-Daten mithilfe von HttpURLConnection funktioniert nicht ___
Roger Lindsjö 28.03.2013, 10:31
quelle

Tags und Links