HATEOAS
Architecture 🔴 SeniorDefinition
Hypermedia As The Engine Of Application State. Niveau 3 de Richardson : les reponses contiennent des liens vers les actions possibles, rendant l'API auto-decouvrable.
Analogie
Un site web : chaque page contient des liens vers les pages suivantes — tu n'as pas besoin de deviner les URLs.
Exemple de code
{
"id": 42, "name": "Alice",
"_links": {
"self": { "href": "/users/42" },
"orders": { "href": "/users/42/orders" },
"delete": { "href": "/users/42", "method": "DELETE" }
}
}
Cas d'usage
APIs publiques auto-documentees ou le client n'a pas besoin de hardcoder les URLs.
Anti-pattern
Client qui hardcode toutes les URLs au lieu de suivre les liens — fragile au changement.