Ressources

  • Définition : Dans le contexte d'une API REST, une ressource est un objet ou une représentation d'un objet auquel on peut accéder via une URL. Cela peut être un objet concret comme un utilisateur, un produit, une image, ou un concept abstrait comme un service ou une collection d'objets.

  • Identification : Chaque ressource est identifiée de manière unique par une URL. Par exemple, un utilisateur avec l'ID 123 pourrait être accessible via une URL comme https://api.example.com/users/123.

  • Représentation : Les ressources peuvent être représentées sous différents formats, tels que JSON, XML, HTML, etc. JSON est le format le plus couramment utilisé en raison de sa simplicité et de sa facilité d'utilisation avec JavaScript.

Méthodes HTTP

Les méthodes HTTP définissent le type d'opération à effectuer sur une ressource. Voici les méthodes les plus couramment utilisées :

  • GET :

    • Utilisation : Récupérer des données d'une ressource.
    • Idempotence : Oui, cela signifie que faire la même requête plusieurs fois aura le même effet que de la faire une seule fois.
    • Exemple : Récupérer les détails d'un utilisateur avec GET /users/123.
  • POST :

    • Utilisation : Créer une nouvelle ressource.
    • Idempotence : Non, car chaque requête POST peut créer une nouvelle ressource.
    • Exemple : Créer un nouvel utilisateur avec POST /users.
  • PUT :

    • Utilisation : Mettre à jour une ressource existante ou la créer si elle n'existe pas encore.
    • Idempotence : Oui, car plusieurs requêtes identiques auront le même effet qu'une seule requête.
    • Exemple : Mettre à jour les informations d'un utilisateur avec PUT /users/123.
  • DELETE :

    • Utilisation : Supprimer une ressource.
    • Idempotence : Oui, car supprimer une ressource déjà supprimée n'aura pas d'effet supplémentaire.
    • Exemple : Supprimer un utilisateur avec DELETE /users/123.

Statelessness (Absence d'état)

  • Définition : Dans une API REST, chaque requête d'un client à un serveur doit contenir toutes les informations nécessaires pour comprendre et traiter la requête. Le serveur ne stocke aucune information sur l'état du client entre les requêtes.

  • Avantages :

    • Simplicité : Le serveur n'a pas besoin de gérer des sessions client, ce qui simplifie l'architecture.
    • Scalabilité : Comme il n'y a pas d'état à maintenir, il est plus facile de mettre à l'échelle l'API en ajoutant plus de serveurs.
    • Fiabilité : Moins de dépendances entre les requêtes, ce qui réduit les risques d'erreurs liées à l'état.
  • Exemple : Si un client doit s'authentifier, il doit envoyer ses informations d'authentification avec chaque requête, généralement via un token dans l'en-tête de la requête.

Ces concepts sont fondamentaux pour comprendre comment les API REST fonctionnent et comment elles permettent une communication efficace et standardisée entre différents systèmes.

Last modified: Friday, 6 June 2025, 7:14 AM