Menu
Coddy logo textTech

Envoyer du JSON

Leçon 35 sur 47 du cours Réseautage avec le terminal de Coddy.

La plupart des API aujourd’hui veulent du JSON, et non un encodage de formulaire. Deux choses doivent changer, et oublier la seconde est l’erreur la plus courante dans tout ce domaine.

curl -s -H 'Content-Type: application/json' \
     -d '{"name":"ada"}' http://127.0.0.1:9125/users

Premièrement, le corps devient du JSON. Deuxièmement, vous devez le déclarer avec un en-tête Content-Type, car sinon curl continue à identifier le corps comme des données de formulaire. Le serveur essaie alors d’analyser le JSON comme des paires key=value et le rejette, généralement avec une erreur 400.

Donc, lorsqu’une API indique que votre JSON est invalide alors qu’il vous semble parfaitement valide, vérifiez l’en-tête avant de vérifier le JSON.

Faites également attention aux guillemets. Le JSON contient beaucoup de guillemets doubles ; entourez donc l’ensemble du corps de guillemets simples et le shell le laissera tel quel.

challenge icon

Défi

Expert

Envoyez un véritable JSON et prouvez qu’il a été correctement étiqueté.

  1. Démarrez l’écouteur de capture sur le port 9125
  2. POSTez le corps {"name":"ada"} vers /users, en le déclarant comme JSON
  3. Affichez la ligne Content-Type de req.txt

Sortie attendue :

Content-Type: application/json

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Réseautage avec le terminal

Entraînez-vous par vous-même : Playground Terminal