Aller au contenu principal

📄 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Ă©es
    • POST : pour crĂ©er de nouvelles donnĂ©es
    • PUT : pour mettre Ă  jour des donnĂ©es existantes
    • DELETE : 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Ăšs
    • 404 : ressource demandĂ©e introuvable
    • 500 : erreur serveur

2. Si GET peut aussi transporter des donnĂ©es dans une requĂȘte, pourquoi utiliser POST ?​

Puisque GET peut Ă©galement envoyer des requĂȘtes contenant des donnĂ©es, pourquoi avons-nous besoin d'utiliser POST ?

Principalement pour quatre raisons :

  1. SĂ©curitĂ© : Comme les donnĂ©es de GET sont attachĂ©es Ă  l'URL, les donnĂ©es sensibles sont facilement exposĂ©es. POST place les donnĂ©es dans le body de la requĂȘte, ce qui est relativement plus sĂ©curisĂ©.
  2. 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. POST n'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-parser d'express.
  3. ClartĂ© sĂ©mantique : Permet aux dĂ©veloppeurs de comprendre clairement l'objectif de la requĂȘte. GET est gĂ©nĂ©ralement utilisĂ© pour rĂ©cupĂ©rer des donnĂ©es, tandis que POST est plus adaptĂ© Ă  la crĂ©ation ou la mise Ă  jour de donnĂ©es.
  4. ImmutabilitĂ© (Immutability) : Dans le protocole HTTP, la mĂ©thode GET est 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 :

  1. Mettre à jour une donnée existante (par exemple, modifier les informations d'un utilisateur)
  2. 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');