Debug ~1 min de lecture

Éviter le parsing JSON après une réponse HTTP 204

La suppression réussit côté API, mais l’interface affiche une erreur ? Vérifiez si le client tente de lire du JSON après une réponse 204.

Deux colonnes comparent le traitement d’une réponse à DELETE /api/favoris/42. À gauche, après 204 No Content, response.json() provoque une SyntaxError. À droite, le client reconnaît le statut 204 et termine sans parsing JSON.
Le diagramme montre pourquoi lire du JSON après un statut 204 provoque une erreur et comment éviter ce parsing.

Un client peut afficher une erreur alors que la suppression a réussi côté API. Exemple : DELETE /api/favoris/42 reçoit une réponse 204 No Content, mais le code appelle ensuite response.json(). Le parsing échoue avec une SyntaxError et déclenche un message « Suppression impossible ».

Le premier soupçon serait un JSON mal formé envoyé par le serveur. Pour le vérifier, il faut examiner le statut et le contenu de la réponse dans l’onglet Network du navigateur. Ici, l’absence de contenu est normale : une réponse HTTP 204 ne contient pas de corps. Le problème vient du client, qui tente de décoder un contenu vide comme du JSON.

Le correctif consiste à traiter explicitement le statut 204 avant l’appel à response.json(), puis à terminer le parcours de réussite sans parsing. Une réponse HTTP réussie n’a pas forcément de JSON à lire.

Dans le même esprit

À lire ensuite