Skip to content

Instantly share code, notes, and snippets.

@NerOcrO
Created August 31, 2025 12:41
Show Gist options
  • Save NerOcrO/00439b7825b6df500746b446b209fa14 to your computer and use it in GitHub Desktop.
Save NerOcrO/00439b7825b6df500746b446b209fa14 to your computer and use it in GitHub Desktop.
rest hateoas
  • 6 contraintes
    1. Client-Server Separation : chacun est indépendent l’un de l’autre, donc chacun peut évoluer comme il le veut
    2. Stateless : les informations du client ne sont jamais stocké sur le serveur comme ça les requêtes entrantes sont toutes indépendantes
    3. 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
    4. Uniform Interface
      1. identification of resources : la ressource doit être identifiable dans la requête (/todos/1)
      2. 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)
      3. self-descriptive messages : ???
      4. hypermedia as the engine of application state (HATEOAS) : ajouter des liens pour effectuer d’autres actions comme ça, chaque ressource est autoportante, pas besoin de connaitre les liens
    5. Layered System : si le serveur doit faire plusieurs requêtes ou qu’il doit s’authentifier pour récupérer la ressource demandée alors c’est transparent pour le client 6. [Optional] Code-On-Demand : le client peut télécharger et exécuter du code venant du serveur
  • REST APIs must be hypertext-driven by Roy Fielding
  • Basics of REST
  • REST next level : Ecrire des APIs web orientées métier (Julien Topçu)
  • HTTP response status codes
  • HTTP request methods

HATEOAS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment