REST

De Centre Documentation PowerBoutique
Aller à : navigation, rechercher

Définition Wikipedia:

REST (Representational State Transfer) est une manière de construire une application pour les systèmes distribués comme le World Wide Web. Le terme a été inventé par Roy Fielding en 2000.

REST n’est pas un protocole ou un format, c’est un style d’architecture, c’est le style architectural original du Web.

Dans cette architecture, un composant lit ou modifie une ressource en utilisant une représentation de cette ressource. Une ressource est une chose nommable, qui peut évoluer avec le temps. Une représentation est une séquence d’octets, éventuellement accompagnée de métadonnées (séquence de nom/valeur). Un composant est un acteur, il est relié à d’autres composants et à des ressources par des canaux, qui permettent des interactions sans états1.

L’application de cette architecture au Web se comprend sur quelques principes simples :

  • l’URI est important : connaître l’URI doit suffire pour nommer et identifier une ressource,
  • HTTP fournit toutes les opérations nécessaires (GET, POST, PUT et DELETE essentiellement),
  • chaque opération est auto-suffisante : il n’y a pas d’état,
  • utilisation des standards hypermedia : HTML ou XML qui permettent de faire des liens vers d’autres ressources et d’assurer ainsi la navigation dans l’application REST sont souvent utilisés. Néanmoins, l’utilisation d’autres formats comme JSON ou autres est possible.

Interrogation

Dans les fait, il faut donc pour inter-agir avec le WebService PowerBoutique effectuer une requête HTTP, proche de celle que ferait un navigateur Web.

Exemple, une lecture de la ressource commande se déclenche ainsi:

 GET /maj_440/api/gesco/commande HTTP/1.1
 Authentication: E4914F54-3015-4884-89207A779477A92F
 
 HTTP/1.1 200 OK
 ...

Les quatres opérations définies dans la norme HTTP (GET / POST / PUT / DELETE) sont utilisées pour déclencher différentes opérations sur les ressources.