Maison >Java >javaDidacticiel >Pourquoi la suppression de \'charset=utf8\' de \'Content-Type\' corrige-t-elle l'erreur HTTP 415 \'Type de média non pris en charge\' lors de l'envoi de requêtes JSON ?

Pourquoi la suppression de \'charset=utf8\' de \'Content-Type\' corrige-t-elle l'erreur HTTP 415 \'Type de média non pris en charge\' lors de l'envoi de requêtes JSON ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 04:05:03299parcourir

Why Does Removing

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn