Il s’agit d’une interface d’échange de données standardisée, qui est conforme au standard REST (Representational State Transfer). Ce standard a été inventé en 2000 par Roy Fielding, un informaticien américain. Les APIs REST s’inspire du fonctionnement du web dans ses échanges client / serveur. L’API REST a pour avantage d’être polyvalante et de compatible avec un grand nombre d’échanges d’informations entre logiciel.
Les API REST sont fondées sur le protocole HTTP. Qui est une des bases de l’internet actuel. Ce protocole à pour objectif permet le transfert de fichiers (essentiellement au format HTML) localisés grâce en s’appuyant sur une URL. Cette base permet à l’API REST de profiter d’un meilleur taux d’adoption par les équipes informatiques.
Un client envoie une requête, et le serveur renvoie une réponse. Les requêtes envoyées par les APIs certifiées REST contiennent toutes les informations nécessaires à leur utilisation, tout en facilitant l’usage de l’API. Les rêquetes sont elles aussi basées sur le protocole HTTP PUT pour modifier ou mettre à jour l’état d’une ressource (un objet, un fichier ou un bloc), GET pour récupérer une ressource, POST pour créer cette ressource, et DELETE pour la supprimer.
Les réponses du serveur sont délivrées dans de multiple format comme le JSON, XML, CSV ou encore RSS.
Une API REST respecte plusieurs critères :
- Client serveur
- Sans état
- Mise en cache
- Orienté client – serveur
- Interface uniforme
- Système hiérarchisé par couche
Malgré ces nombreux avantages une API pour continuer à avoir un intérêt doit être facile à comprendre et donc très bien documentés. Pour ce faire les développeurs utilisent souvent des outils comme Swagger qui permette de documenter automatiquement l’API au fil des modifications.
Le protocole REST par sa mise en oeuvre simple pour les développeur et les administrateur de service informatique, l’utilisation de standard du web, ses possibilités de « versioning » et de documentation automatisé est devenu incontournable pour l’écriture de services web.
D’ailleurs les API RESTful sont utilisés par tous les grands noms du web Google, Amazon, Facebook, Linkedin etc.