Maison >Java >javaDidacticiel >Pourquoi est-ce que je reçois une erreur 415 « Type de média non pris en charge » pour mes requêtes JSON ?

Pourquoi est-ce que je reçois une erreur 415 « Type de média non pris en charge » pour mes requêtes JSON ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-02 07:00:02831parcourir

Why Am I Getting a 415

Résolution de l'erreur de type de média HTTP 415 non pris en charge pour les requêtes JSON

Lors de l'émission d'une requête REST avec un corps JSON, il n'est pas rare de rencontrer une erreur HTTP 415 « Type de média non pris en charge ». Cette erreur provient généralement du serveur lorsqu'il est incapable de traiter les données JSON entrantes.

Plus précisément, le problème soulevé dans la question est caractérisé par une requête POST avec un « Content-Type : application/json » correctement défini. ", mais vous recevez toujours l'erreur "Type de média non pris en charge". Malgré l'essai de diverses bibliothèques JSON, le problème a persisté.

Solution : Omettre la spécification du jeu de caractères

Après un examen attentif, il a été découvert que l'inclusion du "charset=utf8" Le paramètre dans l'en-tête "Content-Type" était à l'origine de l'erreur. En supprimant "charset=utf8" de l'en-tête de la requête, l'erreur disparaît miraculeusement.

Code révisé :

<code class="java">con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("Accept", "application/json");</code>

Explication technique :

Il semble que l'omission du paramètre "charset=utf8" permette au serveur de automatiquement détecter l'encodage des données JSON entrantes. C'est souvent l'approche privilégiée, car l'encodage doit être transparent pour la couche application et géré par des mécanismes de communication sous-jacents.

Conclusion :

Dans certains scénarios, il est Il est possible de résoudre l'erreur HTTP 415 « Type de média non pris en charge » pour les requêtes JSON en éliminant la spécification du jeu de caractères de l'en-tête « Content-Type ». Cette simple modification permet au serveur de traiter de manière transparente les données JSON entrantes, conduisant ainsi à des interactions réussies avec 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!

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