Beheben des HTTP 415 Unsupported Media Type-Fehlers für JSON-Anfragen
Beim Ausstellen einer REST-Anfrage mit einem JSON-Body kommt es nicht selten vor ein HTTP 415-Fehler „Nicht unterstützter Medientyp“. Dieser Fehler wird normalerweise vom Server verursacht, wenn er die eingehenden JSON-Daten nicht verarbeiten kann.
Das in der Frage angesprochene Problem ist insbesondere durch eine POST-Anfrage mit einem ordnungsgemäß definierten „Content-Type: application/json“ gekennzeichnet "-Header, aber es wird immer noch die Fehlermeldung „Nicht unterstützter Medientyp“ angezeigt. Trotz des Ausprobierens verschiedener JSON-Bibliotheken blieb das Problem weiterhin bestehen.
Lösung: Weglassen der Zeichensatzspezifikation
Nach sorgfältiger Prüfung wurde festgestellt, dass die Einbeziehung von „charset=utf8“ Der Parameter im „Content-Type“-Header war die Ursache des Fehlers. Durch das Entfernen von „charset=utf8“ aus dem Anforderungsheader verschwindet der Fehler auf wundersame Weise.
Überarbeiteter Code:
<code class="java">con.setRequestProperty("Content-Type", "application/json"); con.setRequestProperty("Accept", "application/json");</code>
Technische Erklärung:
Es scheint, dass das Weglassen des Parameters „charset=utf8“ es dem Server ermöglicht, automatisch zu arbeiten Ermitteln Sie die Kodierung der eingehenden JSON-Daten. Dies ist häufig der bevorzugte Ansatz, da die Codierung für die Anwendungsschicht transparent sein und von den zugrunde liegenden Kommunikationsmechanismen gehandhabt werden sollte.
Schlussfolgerung:
In bestimmten Szenarien ist dies der Fall Es ist möglich, den HTTP 415-Fehler „Unsupported Media Type“ für JSON-Anfragen zu beheben, indem die Zeichensatzspezifikation aus dem „Content-Type“-Header entfernt wird. Diese einfache Änderung ermöglicht es dem Server, die eingehenden JSON-Daten nahtlos zu verarbeiten, was zu erfolgreichen REST-Service-Interaktionen führt.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich für meine JSON-Anfragen den Fehler 415 „Nicht unterstützter Medientyp“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!