Sobes.tech
Junior

Qu'est-ce qu'une API REST?

sobes.tech IA

Réponse de l'IA

L'API REST est un style architectural pour construire des systèmes distribués. Les principes fondamentaux de REST:

  • Sans état: Chaque requête du client au serveur doit contenir toutes les informations nécessaires pour le traitement. Le serveur ne conserve pas l'état du client entre les requêtes.
  • Client-Serveur: Séparation claire des responsabilités entre le client et le serveur. Le client envoie des requêtes, le serveur les traite.
  • Cacheable: Le serveur doit indiquer si les réponses peuvent être mises en cache par le client ou par des intermédiaires.
  • Système en couches: Le client n'interagit pas nécessairement directement avec le serveur final; il peut le faire via des couches intermédiaires (proxy, équilibrages de charge).
  • Interface uniforme: Méthode unique et standardisée d'interagir entre le client et le serveur. Ce principe inclut:
    • Identification des ressources: Les ressources (données) sont identifiées par URL.
    • Manipulation des ressources via des représentations: Le client interagit avec les ressources, en obtenant leurs représentations (par exemple, JSON, XML) et en envoyant de nouvelles représentations pour modifier.
    • Messages auto-descriptifs: Chaque message contient suffisamment d'informations pour comprendre comment le traiter.
    • HATEOAS (Hypertext As The Engine Of Application State): Les ressources doivent contenir des liens (hyperliens) vers des ressources liées et des actions disponibles.

L'API REST utilise généralement des méthodes HTTP standards pour effectuer des opérations sur les ressources:

  • GET: Obtenir une ressource ou une collection de ressources.
  • POST: Créer une nouvelle ressource.
  • PUT: Mise à jour complète d'une ressource existante.
  • PATCH: Mise à jour partielle d'une ressource existante.
  • DELETE: Supprimer une ressource.

Exemple de représentation JSON d'une ressource:

{
  "id": 1, // Identifiant
  "name": "Resource Name", // Nom de la ressource
  "description": "Detailed description of the resource." // Description de la ressource
}

Les tests de l'API REST incluent la vérification:

  • Fonctionnalité (correctitude des réponses aux requêtes).
  • Gestion des erreurs.
  • Performance.
  • Sécurité.
  • Conformité à la documentation.