đ MĂ©thodes HTTP
1. Qu'est-ce qu'une API RESTful ?â
L'Ă©criture d'une API RESTful adopte un ensemble de styles de conception standardisĂ©s, facilitant la communication entre diffĂ©rents systĂšmes sur le rĂ©seau. Pour respecter les principes REST, une API doit ĂȘtre prĂ©visible et facile Ă comprendre. En tant que dĂ©veloppeur front-end, nous nous concentrons principalement sur les trois points suivants :
- Chemin URL (url path) : Identifie la portĂ©e de la requĂȘte cĂŽtĂ© client, par exemple :
/products: peut retourner une liste de produits/products/abc: fournit les détails du produit dont l'ID est abc
- Méthodes HTTP : Définissent l'action spécifique à exécuter :
GET: pour récupérer des donnéesPOST: pour créer de nouvelles donnéesPUT: pour mettre à jour des données existantesDELETE: pour supprimer des données
- Codes de statut (status code) : Fournissent une indication rapide sur le succĂšs ou l'Ă©chec de la requĂȘte, et le cas Ă©chĂ©ant, sur la nature du problĂšme. Les codes de statut courants incluent :
200: succÚs404: ressource demandée introuvable500: erreur serveur
2. Si GET peut aussi transporter des donnĂ©es dans une requĂȘte, pourquoi utiliser POST ?â
Puisque
GETpeut Ă©galement envoyer des requĂȘtes contenant des donnĂ©es, pourquoi avons-nous besoin d'utiliserPOST?
Principalement pour quatre raisons :
- Sécurité : Comme les données de
GETsont attachĂ©es Ă l'URL, les donnĂ©es sensibles sont facilement exposĂ©es.POSTplace les donnĂ©es dans lebodyde la requĂȘte, ce qui est relativement plus sĂ©curisĂ©. - Limite de taille des donnĂ©es : Avec
GET, la longueur de l'URL est limitĂ©e par le navigateur et le serveur (bien que cela varie selon les navigateurs, la limite est gĂ©nĂ©ralement autour de 2048 bytes), ce qui restreint la quantitĂ© de donnĂ©es.POSTn'a thĂ©oriquement pas de limite, mais en pratique, pour Ă©viter les attaques malveillantes injectant de grandes quantitĂ©s de donnĂ©es, des middlewares sont gĂ©nĂ©ralement configurĂ©s pour limiter la taille des donnĂ©es. Par exemple,body-parserd'express. - ClartĂ© sĂ©mantique : Permet aux dĂ©veloppeurs de comprendre clairement l'objectif de la requĂȘte.
GETest généralement utilisé pour récupérer des données, tandis quePOSTest plus adapté à la création ou la mise à jour de données. - Immutabilité (Immutability) : Dans le protocole HTTP, la méthode
GETest conçue comme "sĂ»re". Quel que soit le nombre de requĂȘtes envoyĂ©es, il n'y a pas lieu de craindre que cela modifie les donnĂ©es sur le serveur.
3. Que fait la mĂ©thode PUT en HTTP ?â
Quelle est l'utilité de la méthode
PUT?
Elle a principalement deux usages :
- Mettre à jour une donnée existante (par exemple, modifier les informations d'un utilisateur)
- Si la donnée n'existe pas, en créer une nouvelle
Exampleâ
const axios = require('axios');
async function updateUser(userId, newName) {
const url = `https://api.example.com/users/${userId}`; // api URL
const data = {
name: newName,
};
try {
const response = await axios.put(url, data); // ExĂ©cute la requĂȘte PUT
console.log('User updated:', response.data); // Affiche les informations utilisateur mises Ă jour
} catch (error) {
console.log('Error updating user:', error); // Affiche les informations d'erreur
}
}
updateUser(1, 'Pitt Wu');