Mettez en pratique
À vous de jouer : explorez une API de recettes
C'est le moment de mettre en pratique vos compétences de lecture de documentation. Vous allez utiliser l'API Recipes de DummyJSON, une API gratuite avec 50 recettes du monde entier. Pas besoin d'API key.
Voici ce que vous avez :
- Base URL :
https://dummyjson.com - Docs : dummyjson.com/docs/recipes
Ouvrez la doc dans un nouvel onglet. Vous en aurez besoin pour chaque défi ci-dessous.
L'outil ci-dessous est le vôtre. Vous choisissez la méthode, vous tapez l'URL et vous écrivez le body. La base URL est déjà là. Le reste, c'est à vous.
Défi 1 : Trouver toutes les recettes
Votre première tâche : récupérer la liste de toutes les recettes. Regardez la doc et trouvez quel endpoint retourne toutes les recettes. Tapez le chemin après la base URL et appuyez sur envoyer.
Combien de recettes y a-t-il au total ? (Regardez le champ total dans la réponse.)
Défi 2 : Trouver la recette de ramen
Il y a un Japanese Ramen Soup dans cette API. Votre mission : le trouver en utilisant l'endpoint de recherche.
Consultez la doc pour trouver un endpoint qui permet de chercher des recettes par nom. Puis tapez le bon chemin et le bon query parameter ci-dessous.
Une fois que vous l'avez trouvé, répondez à ces questions :
- Combien de calories par portion ?
- Combien de temps de cuisson (pas de préparation) ?
- Quelle cuisine est indiquée ?
Défi 3 : Ajoutez votre propre recette de pizza
C'est le moment de créer quelque chose. La doc a un endpoint pour ajouter une nouvelle recette. Vous devez :
- Trouver la bonne méthode (ce n'est pas GET cette fois)
- Trouver le bon chemin
- Écrire un body JSON avec votre recette de pizza
Vous n'avez besoin que de deux champs : name et prepTimeMinutes. Petit rappel de syntaxe JSON : accolades, clés entre guillemets doubles, deux-points entre clé et valeur, virgule entre les champs. Comme ceci :
{
"name": "My recipe name",
"prepTimeMinutes": 10
}
Sélectionnez la bonne méthode dans le menu déroulant, tapez le chemin et écrivez le body dans la zone de texte qui apparaît.
Si ça a fonctionné, vous devriez recevoir votre recette avec un id de 51 (l'API simule la création et attribue le prochain ID disponible).
Solutions
Vous avez terminé les défis ? Voici les réponses.
Défi 1 : Trouver toutes les recettes
Méthode : GET
URL : https://dummyjson.com/recipes
La réponse inclut "total": 50. Il y a 50 recettes dans l'API. Par défaut, vous obtenez les 30 premières ("limit": 30).
Défi 2 : Trouver la recette de ramen
Méthode : GET
URL : https://dummyjson.com/recipes/search?q=ramen
Le Japanese Ramen Soup est le résultat :
- Calories par portion : 480
- Temps de cuisson : 25 minutes (
cookTimeMinutes: 25) - Cuisine : Japanese
L'endpoint de recherche est /recipes/search et prend un paramètre q. Vous pouvez le trouver dans la doc sous "Search recipes."
Défi 3 : Ajoutez votre propre recette de pizza
Méthode : POST
URL : https://dummyjson.com/recipes/add
Body (exemple) :
{
"name": "Pepperoni Pizza",
"prepTimeMinutes": 15
}
Les points importants :
- La méthode est POST (vous créez, vous ne lisez pas)
- Le chemin est
/recipes/add(pas juste/recipes) - Le body est du JSON valide avec au moins un
namequi contient "pizza"
L'API répond avec votre recette plus "id": 51, confirmant qu'elle a été "créée." (DummyJSON simule la création. Elle ne la sauvegarde pas réellement.)
Ce que vous venez de faire
Vous avez ouvert une documentation que vous n'aviez jamais vue, trouvé les bons endpoints, compris les paramètres, choisi les bonnes méthodes et construit des requêtes de zéro. Personne ne vous a donné l'URL. Vous avez lu la doc et l'avez construite vous-même.
C'est exactement le workflow que vous utiliserez au travail quand votre équipe intègre une nouvelle API : ouvrir la doc, trouver l'endpoint, construire la requête, vérifier la réponse.
Points clés
- Lire de la documentation est une compétence pratique. La seule façon de s'y habituer, c'est de pratiquer avec de vraies API.
- Toutes les requêtes ne sont pas des GET. Créer des données nécessite POST, et la doc vous dit quelle méthode utiliser.
- Le body d'une requête POST doit correspondre à ce que la doc attend. Les noms de champs, les types et la structure comptent.
- Quand vous êtes bloqué, la réponse est toujours dans la doc. C'est à ça qu'elle sert.