Les méthodes HTTP en détail
Notions théoriques
Les méthodes HTTP PUT
, DELETE
et PATCH
Maintenant que nous avons exploré les requêtes HTTP GET
et POST
,
nous allons étudier d'autres méthodes :
-
PUT : Cette méthode est utilisée pour remplacer une donnée (si la donnée n'existe pas, elle sera créée).
Imaginez un jeu en ligne, utiliser la méthode PUT va remplacer votre personnage par un autre type de personnage (ou ajouter un nouveau personnage de ce type si vous n'en avez pas).
-
DELETE : Comme son nom l'indique, cette méthode sert à supprimer une donnée.
Si vous voulez supprimez votre personnage, il suffit d'utiliser la méthode DELETE.
-
PATCH : Cette méthode est similaire à PUT, mais elle est utilisée pour modifier partiellement une donnée.
Si vous voulez juste changer le nom de votre personnage, il suffit d'utiliser la méthode PATCH.
Statuts de réponse HTTP
Chaque fois que vous faites une requête HTTP, le serveur répond avec un statut qui indique si la requête a été un succès ou non, et pourquoi. Voici quelques-uns des statuts de réponse les plus courants que vous pourriez rencontrer :
- 200 OK : La requête a réussi, et la réponse contient les données demandées.
- 201 Created : La requête a réussi, et une nouvelle ressource a été créée en conséquence.
- 204 No Content : La requête a réussi, mais il n'y a rien à afficher en retour.
- 400 Bad Request : La requête ne peut pas être traitée à cause d'une erreur de syntaxe.
- 401 Unauthorized : La requête nécessite une authentification que vous n'avez pas fournie.
- 403 Forbidden : Vous êtes authentifié, mais vous n'avez pas la permission d'accéder à la ressource.
- 404 Not Found : La ressource demandée n'existe pas sur le serveur.
- 500 Internal Server Error : Le serveur a rencontré une situation qu'il ne sait pas gérer.
Exemple pratique
Pour illustrer l'utilisation des méthodes HTTP différentes de GET et POST, imaginons que vous gérez votre profil sur un réseau social :
- Pour changer votre photo de profil (remplacer une donnée existante), vous pourriez utiliser une requête PUT.
- Si vous décidez de supprimer un de vos tweets, une requête DELETE serait envoyée.
- Pour modifier votre biographie sans changer le reste de votre profil, une requête PATCH serait appropriée.
Test de mémorisation/compréhension
Quelques API publiques
Voici quelques API publiques, utilisables gratuitement (avec ou sans création d'un compte) :
-
Api.gouv est le site qui référence toutes les API du service public : https://api.gouv.fr
-
Une liste collective d'API gratuites : https://github.com/public-apis/public-apis
-
Le plus grand répertoire d'API sur le Web : https://www.programmableweb.com/category/all/apis
-
Accédez aux itinéraires et horaires temps réel des trains SNCF : https://www.digital.sncf.com/startup/api/
-
Une API simple qui permet d'estimer la nationalité d'une personne à partir de son nom de famille : https://nationalize.io/documentation
-
La plus grande collection d'API publiques, créées par des développeurs du monde entier : https://www.postman.com/explore
TP pour explorer l'API de la "SNCF"
Objectif : Utiliser l'API SNCF pour rechercher des informations sur les itinéraires et les horaires de train en temps réel, en particulier pour un trajet entre Avranches et Paris.
Instructions détaillées :
-
Allez sur https://www.digital.sncf.com/startup/api/ pour vous inscrire et obtenir votre clé d'accès à l'API SNCF.
- ou https://numerique.sncf.com/startup/api/token-developpeur/
- Vous allez ensuite recevoir un mail avec votre clé d'API.
-
Ouvrez Postman et configurez votre environnement en ajoutant une variable pour votre clé API, par exemple
sncf_api_key
. -
Créez une nouvelle requête GET pour rechercher un train au départ d'Avranches pour Paris, demain à partir de 08h00 :
https://api.sncf.com/v1/coverage/sncf/journeys
-
Ajoutez un header à votre requête avec la clé
Authorization
et votre clé API personnelle comme valeur. -
Ajoutez les paramètres de requête pour spécifier la gare de départ "Avranches" et d'arrivée "Paris" et la date et l'heure de départ souhaitées (demain à partir de 08h00).
Exemple de paramètres à ajouter à l'URL :
from
: code UIC de la gare d'Avranches =admin:fr:50025
to
: code UIC de la gare de Paris Montparnasse= =admin:fr:75056
datetime
: date et heure de départ souhaitées au format ISO8601 (YYYYMMDDThhmmss
)Par exemple à partir du 14 mars 2024 à 08h00 au format ISO8601 (heure de Paris) est
2024-03-14T08:00:00+01:00
-
Envoyez la requête et observez le code de statut de la réponse, ainsi que les données d'itinéraire retournées.
-
Analysez les différentes parties de la réponse pour comprendre la structure des données d'itinéraire, y compris les horaires, les correspondances éventuelles, et la durée du trajet.
Corrigé du TP :
Une solution
Vous devez être connecté pour voir le contenu.
TP pour explorer l'API de "The Dog API"
Objectif : Utiliser Postman pour envoyer des requêtes GET à "The Dog API" et analyser les réponses.
Nous allons maintenant réaliser une requête HTTP en utilisant une clé d'API.
Instructions détaillées :
-
Inscrivez-vous sur https://thedogapi.com/ pour obtenir votre clé API personnelle.
- Vous allez ensuite recevoir un mail avec votre clé d'API.
-
Ouvrez Postman et configurez votre environnement avec la clé API obtenue.
-
Saisissez le
endpoint
(pour chercher des photos de chats via le serveurthecatapi.com
) : https://api.thecatapi.com/v1/images/search -
Saisissez les pairs de clé/valeurs suivantes :
- limit=10
- breed_ids=beng
- api_key=Votre_clé_API
Le mot anglais "breed" signifie race en français.
- Envoyez la requête et observez la réponse.
Corrigé du TP :
Une solution
Vous devez être connecté pour voir le contenu.