Précédents

Avant Rest, l’architecture SOAP Ă©tait trĂšs connue

RPC

Rest

API: Application Programmable Interface

Rest est un style d’architecture logiciel

Les types de requĂȘtes

On retrouve diffĂ©rents types de requĂȘtes trĂšs utilisĂ©es :

  • GET: obtenir des donnĂ©es
  • POST: crĂ©er une nouvelle rĂ©ponse ou donnĂ©e
  • PATCH : Mettre Ă  jour des donnĂ©es.
  • DELETE: Supprimer des donnĂ©es

On retrouve également de nombreuses autres méthodes (voir mdn)

Les mĂ©thodes GET, HEAD, OPTION sont safes, car ils ne modifient pas d’informations, mais des mĂ©thodes telles que POST, DELETE, PATCH ou encore PUT ne sont pas safe, parce qu’elles modifient des donnĂ©es.

Statelessness

Les serveurs ne sont pas autorisĂ©s Ă  stocker des donnĂ©es relatives au client. Aucun Ă©tat de session ne doit ĂȘtre stockĂ© cotĂ© serveur.

Statelessness exige que chaque requĂȘte du client au serveur contienne toutes les informations nĂ©cessaires pour comprendre et complĂ©ter la requĂȘte.

Le serveur ne peut pas tirer parti des informations de contexte prĂ©cĂ©demment stockĂ©es sur le serveur. Pour cette raison, l’application cliente doit conserver entiĂšrement l’état de la session.

Le cache

La contrainte “cacheable” exige qu’une rĂ©ponse s’étiquette implicitement ou explicitement comme cacheable ou non cacheable.

SystĂšme en couche

l’API doit ĂȘtre sĂ©parĂ© en plusieurs fichiers, notamment en sĂ©parant les mĂ©thodes de la base de donnĂ©e. On va Ă©galement sĂ©parer la logique dans les controllers.

Uniformité

Il y a 4 rĂšgles:

  • Identification of resources
  • Manipulation of resources through representations
  • Self-descriptive