Aller au contenu

REST

REST définit des règles d’architecture pour des interfaces distribuées : ressources, requêtes sans état et liens en font partie.

Également appeléRepresentational State Transfer
API et contrats de données

Accéder aux ressources par une interface uniforme

REST signifie Representational State Transfer et désigne un style d’architecture. Les applications échangent des représentations de ressources, par exemple l’état actuel d’un projet. Ses contraintes comprennent la séparation du client et du serveur, des requêtes sans état, l’indication du caractère réutilisable en cache des réponses et une interface uniforme. Les liens des représentations orientent vers les étapes possibles suivantes ; une adresse HTTP renvoyant du JSON ne suffit pas à respecter ces contraintes.

Dans un portail de projets fictif, l’application demande une représentation du projet avec GET /projects/P-42. Elle contient aussi un lien vers /projects/P-42/tasks, prévu pour accéder aux tâches associées. Les deux chemins sont nos propres exemples de conception. La requête doit apporter les informations nécessaires à sa compréhension par le serveur ; celui-ci ne devrait pas avoir à reconstituer un dialogue antérieur avec ce client. Les données du projet peuvent toutefois être conservées durablement. « Sans état » décrit ici la communication, pas l’absence de base de données.

L’équipe d’intégration doit donc examiner les règles réelles concernant les ressources, les liens, les droits et la réutilisation des réponses. L’étiquette REST ne répond pas à elle seule à ces questions.

Sources