Une API RESTful (Representational State Transfer) est un style d’architecture pour la conception d’applications en réseau, particulièrement utilisé pour les services web.
Principales caractéristiques d’une API RESTful :
- Architecture client-serveur : séparation claire entre le client et le serveur.
- Sans état (Stateless) : chaque requête du client au serveur doit contenir toutes les informations nécessaires pour comprendre et traiter la requête.
- Mise en cache : les réponses doivent indiquer si elles peuvent être mises en cache ou non.
- Interface uniforme : utilise des méthodes HTTP standard (GET, POST, PUT, DELETE, etc.) pour interagir avec les ressources.
- Système en couches : l’architecture peut être composée de plusieurs couches, chacune ayant une fonction spécifique.
- Ressources identifiables : chaque ressource est identifiée par une URL unique.
- Manipulation des ressources via représentations : les clients manipulent les ressources à travers des représentations (généralement JSON ou XML).
- Messages auto-descriptifs : chaque message contient suffisamment d’informations pour décrire comment le traiter.
- Hypermedia : les réponses peuvent contenir des liens vers d’autres actions ou ressources.