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