- 6 contraintes
- Client-Server Separation : chacun est indépendent l’un de l’autre, donc chacun peut évoluer comme il le veut
- Stateless : les informations du client ne sont jamais stocké sur le serveur comme ça les requêtes entrantes sont toutes indépendantes
- Cache : la réponse doit dire qu’elle peut être mise en cache comme ça le client, plus tard, peut faire appel à son cache plutôt que le serveur
- Uniform Interface
- identification of resources : la ressource doit être identifiable dans la requête (/todos/1)
- manipulation of resources through representations : dans la réponse du serveur, chaque ressource contient assez d’information pour pouvoir la modifier ou la supprimer (ie: identifiant)
- self-descriptive messages : ???