Une API REST (Representational State Transfer),serve\warty est un style architectural pour la conception d’applications en réseau. Elle repose sur des principes qui mettent l’accent sur un modèle de communication client-serveur sans état, des identificateurs de ressources uniformes (URI) pour l’identification des ressources et des méthodes HTTP standard (GET, POST, PUT, DELETE) pour effectuer des opérations sur les ressources.
Voici les principaux composants et caractéristiques d’une API REST :
Ressources
Dans une API REST, les ressources représentent des entités ou des objets avec lesquels le client interagit. Les ressources sont généralement identifiées par des URI, et chaque ressource peut avoir une ou plusieurs représentations (par exemple, JSON, XML) que les clients peuvent récupérer ou manipuler.
Méthodes HTTP
Les API REST utilisent des méthodes HTTP standard pour effectuer des opérations sur les ressources. Ces méthodes sont les suivantes :
- GET : Récupérer une représentation d’une ressource.
- POST : Créer une nouvelle ressource.
- PUT : Mettre à jour une ressource existante ou en créer une nouvelle si elle n’existe pas.
- DELETE : Supprime une ressource.
- PATCH : Mise à jour partielle d’une ressource.
- OPTIONS : Permet d’obtenir des informations sur les options de communication disponibles pour une ressource.
Communication sans état
Les interactions RESTful sont sans état, ce qui signifie que chaque demande du client au serveur contient toutes les informations nécessaires pour répondre à la demande. Le serveur ne stocke pas l’état du client entre les requêtes, ce qui simplifie l’évolutivité et la fiabilité.
Interface uniforme
Les API REST utilisent une interface uniforme entre les clients et les serveurs, ce qui favorise la simplicité et le découplage entre les composants. Il s’agit notamment d’utiliser des méthodes HTTP, des identificateurs de ressources (URI) et des représentations (par exemple, JSON, XML) standard.
Représentation
Les ressources sont représentées dans un format tel que JSON ou XML, que les clients peuvent analyser et interpréter. Les clients et les serveurs peuvent négocier le format de représentation à l’aide des mécanismes de négociation de contenu fournis par HTTP.
L’absence d’état
Les API REST sont sans état, ce qui signifie que chaque demande d’un client au serveur doit contenir toutes les informations nécessaires pour comprendre et satisfaire la demande. Le serveur ne stocke aucun état du client entre les requêtes, ce qui améliore l’évolutivité et la fiabilité.
Les API REST sont largement utilisées pour la création de services et d’applications web en raison de leur simplicité, de leur évolutivité et de leur compatibilité avec les normes web existantes. Elles permettent l’interopérabilité entre différents systèmes et plateformes, facilitant l’intégration et la communication entre des composants logiciels disparates.