Erreur HTTP 415 « Type de média non pris en charge » : comprendre la cause et la résoudre
Lors de l'exécution d'un appel de service REST avec une requête JSON et recevant une erreur HTTP 415 « Type de média non pris en charge », elle est souvent attribuée à des propriétés de requête incorrectes. Dans ce cas précis, le problème est survenu lors de l'utilisation de la bibliothèque Google-gson-2.2.4 et de la définition de l'en-tête "Content-Type" sur "application/json; charset=utf8".
Malgré les tentatives de différentes bibliothèques JSON , l'erreur a persisté. Après un examen plus approfondi, il a été découvert que la suppression de la partie « charset=utf8 » de l'en-tête « Content-Type » résolvait le problème. Le code modifié apparaît comme suit :
<code class="java">public static void main(String[] args) throws Exception { // ... (code before update) ... con.setRequestProperty("Content-Type", "application/json"); // Remove "charset=utf8" from "Content-Type" header // ... (code after update) ... }</code>
Il convient de noter que le raisonnement derrière ce comportement n'est pas tout à fait clair, mais cette solution de contournement a efficacement résolu le problème dans le cas présenté. En supprimant la spécification du jeu de caractères, la demande a été acceptée par le service REST.
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!