API REST
REST = Representational State Transfer Application Program Interface.
REST est un style architectural qui permet aux logiciels de communiquer entre eux sur un réseau ou sur un même appareil.
Notamment création de service Web dis RESTful.(On parle ici du fait que plusieurs application vont interagir entre eux en communicant avec un serveur et en ce communicant entre eux des données sous un format standard compris par tous genre “JSON” ou “XML” ou “text”.
L'architecture
L'architecture REST est un ensemble de principe directeurs auxquels un développeur doit adhérer avant de pouvoir considérer son API comme “RESTful”.
Architecture client-serveur: Chaque
API se comporte comme un client faisant une demande à un serveur. (en HTTP notamment).
Sans-Etat: Les application “sans-Etat” ne maintiennent pas de connexion avec leur ressources
Avec mise en cache: Une
API REST doit permettre la mise en cache des données fréquemment demandées, réduction bande passante, de la latence de la charge du serveur).
Interface uniforme: Le client interagit avec le serveur selon une manière définie, indépendamment de l'appareil ou de l'application.
Identification des ressources: L'
API doit avoir une
URI (identifiant de ressource uniforme) spécifique pour chaque ressource.
Auto-Descriptif: Comprend des métadonnées telles que Content-Type qui décrit comment interpréter la réponse.
HATEOAS: (Hypermédia comme moteur d'état de l'application) : la réponse du serveur comprend les
URI des méthodes supplémentaires auxquelles le client peut accéder à l'aide des données de réponse.
Système en couches: Une
API peut avoir plusieurs couches, telles que des serveurs porxy ou des dispositifs de répartition de charge, et le serveur d'extrémité peut déployer des serveurs supplémentaires pour formuler une réponse. Le client ne sait pas quel serveur répond à la requête. Un système en couches rend une
API plus évolutive.
Code sur demande (facultatif): L'
API peut envoyer du code exécutable tel que des applets JAVA ou JavaScript.