Lire les réponses API sans perdre la raison
Pourquoi tes réponses API ressemblent à du charabia et comment les lire vraiment.
Tu appelles un endpoint d'API. La réponse arrive. Elle ressemble à ça :
{"users":[{"id":1,"name":"John","email":"john@example.com","settings":{"notifications":true,"theme":"dark","language":"en"}},{"id":2,"name":"Jane","email":"jane@example.com","settings":{"notifications":false,"theme":"light","language":"es"}}],"meta":{"total":2,"page":1}}
Bonne chance pour trouver ce champ dont tu as besoin.
Voilà à quoi ressemble 90% du débogage d'API. JSON minifié, pas de sauts de ligne, tout entassé. C'est techniquement correct. C'est aussi illisible.
Formate-le simplement
Prends ce mur de texte, colle-le dans un formateur JSON, et soudain :
{
"users": [
{
"id": 1,
"name": "John",
"email": "john@example.com",
"settings": {
"notifications": true,
"theme": "dark",
"language": "en"
}
}
]
}
Mêmes données. Réellement lisible. Tu peux voir la structure, trouver les champs imbriqués, repérer les valeurs manquantes.
Scénarios de débogage courants
"L'API retourne une erreur mais je ne sais pas pourquoi"
Formate la réponse d'erreur. Souvent il y a un champ message ou details imbriqué enfoui là-dedans qui explique exactement ce qui s'est mal passé. Tu ne pouvais juste pas le voir dans la version minifiée.
"Je dois comparer deux réponses"
Formate les deux, puis utilise un outil de diff. Le JSON minifié est impossible à differ—tout apparaît comme modifié parce que les sauts de ligne sont différents.
"Est-ce même du JSON valide ?"
Colle-le dans un formateur. S'il est invalide, tu obtiendras une erreur pointant vers le problème. Virgule manquante, crochet supplémentaire, guillemet non échappé—le formateur te le dira.
Travailler avec les JWTs
Les JWTs (JSON Web Tokens) sont juste du JSON encodé en base64. Quand tu vois quelque chose comme :
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ
Ce n'est pas chiffré. C'est juste encodé. Décode-le et tu verras la charge utile réelle—ID utilisateur, temps d'expiration, permissions, peu importe ce que le token contient.
Utile pour déboguer les problèmes d'authentification. "Pourquoi j'obtiens 403 ?" Décode le token, vérifie s'il est expiré, vérifie que les revendications correspondent à ce que tu attends.
Base64 dans les réponses API
Parfois les APIs retournent des données encodées en base64. Contenus de fichiers, images, blobs chiffrés. Si tu as besoin de voir ce qu'il y a vraiment dedans, décode-le.
Courant dans :
- APIs email (les pièces jointes viennent encodées en base64)
- Uploads d'images (les URIs de données sont en base64)
- Services SOAP legacy (parce que SOAP)
Conseils pour le travail API
Utilise les outils de dev du navigateur. L'onglet Network affiche les requêtes et réponses. La plupart des navigateurs peuvent pretty-printer les réponses JSON automatiquement.
Sauvegarde des exemples de réponses. Quand une API fonctionne correctement, sauvegarde une copie formatée. Quand elle casse, tu peux comparer avec la version fonctionnelle.
Vérifie le content type. Parfois ce qui ressemble à du JSON est en fait une chaîne contenant du JSON. Tu pourrais avoir besoin de l'analyser deux fois.
Surveille les problèmes d'encodage. Les caractères Unicode peuvent causer des problèmes. Si tu vois des codes \u0000, c'est de l'Unicode échappé—généralement OK, mais parfois indique des problèmes d'encodage en amont.
Le débogage d'API consiste surtout à voir les données clairement. Formate ton JSON, décode tes tokens, et tu passeras moins de temps à plisser les yeux sur des blobs minifiés.