Sobes.tech
Junior

Quelles API peut-on qualifier de RESTful?

sobes.tech IA

Réponse de l'IA

Les API RESTful respectent les principes du style architectural REST:

  • Client-serveur: Séparation des responsabilités entre le client, qui demande des ressources, et le serveur, qui les fournit.
  • Sans état (Stateless): Chaque requête du client au serveur doit contenir toutes les informations nécessaires pour la traiter. Le serveur ne conserve pas d'état de session du client.
  • Cacheable: Le serveur doit indiquer explicitement ou implicitement si les réponses peuvent être mises en cache par le client ou des intermédiaires.
  • Système en couches: Le client ne peut pas faire la différence entre un appel direct au serveur et un appel via des couches intermédiaires (proxy, équilibrages de charge, etc.).
  • Code à la demande (optionnel): Le serveur peut temporairement étendre la fonctionnalité du client en transmettant du code exécutable (par exemple, JavaScript).
  • Interface uniforme: Le principe le plus important des API RESTful. Composé de quatre contraintes:
    • Identification des ressources: Les ressources sont identifiées par des URL.
    • Manipulation des ressources via des représentations: Le client interagit avec les ressources en obtenant leurs représentations (par exemple, en JSON, XML).
    • Messages auto-descriptifs: Chaque message contient suffisamment d'informations pour être traité, y compris des métadonnées sur la façon de traiter le message et la ressource.
    • HATEOAS (Hypermedia as the Engine of Application State): Le serveur doit inclure des liens dans ses réponses permettant au client de découvrir les actions disponibles et de naviguer entre les états de l'application. C'est le principe le moins souvent respecté.

Les API RESTful utilisent les méthodes HTTP standard (GET, POST, PUT, DELETE, PATCH) pour les opérations sur des ressources identifiées par des URI.

Par exemple, une requête GET à /api/users/123 récupère la représentation de l'utilisateur avec l'ID 123.