HTTP 415 Nicht unterstützter Medientypfehler beim Senden von JSON-Anfragen
Beim Versuch, einen REST-Dienst mit einer JSON-Anfrage auszuführen, stieß ein Benutzer auf einen HTTP 415-Fehler „Nicht unterstützter Medientyp“. Trotz der Einstellung des Anforderungsinhaltstyps auf „application/json; charset=utf8“ funktionierte es nur, wenn kein JSON-Objekt in der Anforderung enthalten war.
Verwendung der google-gson-2.2.4-Bibliothek und Experimentieren mit anderen JSON-Bibliotheken erwiesen sich als unwirksam.
Der folgende Codeausschnitt veranschaulicht die Implementierung:
<code class="java">// Code snippet removed for brevity</code>
Untersuchung des Werts von requestJson.toString(), das den JSON-Körper darstellte:
<code class="json">{"type":"arl","action":"remove","domain":"staging","objects":"http://www.example.com"}</code>
Lösung:
Seltsamerweise wurde „charset=utf8“ aus der Anforderungseigenschaft „Content-Type“ entfernt („Content-Type“, „application/json; charset=utf8“ ) hat das Problem auf wundersame Weise gelöst.
<code class="java">// Removed "charset=utf8" from "Content-Type" con.setRequestProperty("Content-Type", "application/json"); // Code snippet continues removed for brevity</code>
Der genaue Grund für diese Änderung ist noch unbekannt, aber sie ermöglichte effektiv das erfolgreiche Senden und Verarbeiten von JSON-Anfragen.
Das obige ist der detaillierte Inhalt vonWarum behebt das Entfernen von „charset=utf8“ aus „Content-Type“ den HTTP 415-Fehler „Unsupported Media Type“ beim Senden von JSON-Anfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!