Erreur de type de média HTTP 415 non pris en charge lors de l'envoi de requêtes JSON
Lors de la tentative d'exécution d'un service REST avec une requête JSON, un utilisateur a rencontré un Erreur HTTP 415 « Type de média non pris en charge ». Malgré la définition du type de contenu de la requête sur "application/json; charset=utf8", cela ne fonctionnait que lorsqu'aucun objet JSON n'était inclus dans la requête.
Utiliser la bibliothèque google-gson-2.2.4 et expérimenter différents Les bibliothèques JSON se sont révélées inefficaces.
L'extrait de code suivant illustre l'implémentation :
<code class="java">// Code snippet removed for brevity</code>
Examen de la valeur de requestJson.toString(), qui représentait le corps JSON :
<code class="json">{"type":"arl","action":"remove","domain":"staging","objects":"http://www.example.com"}</code>
Solution :
Curieusement, supprimer "charset=utf8" de la propriété de requête "Content-Type" ("Content-Type", "application/json; charset=utf8" ) a miraculeusement résolu le problème.
<code class="java">// Removed "charset=utf8" from "Content-Type" con.setRequestProperty("Content-Type", "application/json"); // Code snippet continues removed for brevity</code>
La raison exacte de cette modification est encore inconnue, mais elle a effectivement permis d'envoyer et de traiter avec succès les requêtes JSON.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!