Le Modèle de Maturité de Richardson
Le Modèle de Maturité de Richardson ou Web Service Maturity Heuristic
Le Modèle de Maturité de Richardson ou Web Service Maturity Heuristic
*P.O.X. : Plain Old XML

Level 0 : The Swamp of POX

XML-RPC over HTTP.
Plain Old XML
Tag Soup
ReST vs SOAP

Level 1 : Resources

L’API respecte le modèle de données et chaque ressource peut être identifiée avec une URL.
1
POST /blogs/11111/posts
2
POST /posts/22222/comments
3
GET /comments/33333
Copied!
Resources

Level 2 : HTTP Verbs

Utilisation des méthodes HTTP autres que GET et POST pour signifier l’action souhaitée : PATCH / PUT / DELETE.
… et surtout les “status codes” HTTP pour résumer le résultat de l’opération :
200 : OK 201 : Created 204 : No Content (delete) 400 : Bad Request 401 : Unauthorized 403 : Forbidden 404 : Not Found 409 : Conflict …
Bien sûr, les erreurs 4xx peuvent contenir un "body" avec des informations additionnelles.
Utilisez le bon vocabulaire et évitez les APIs schtroumpf !
1
SCHTROUMPF /q?data=select:*:from:carts
Copied!
What The Smurf!?

Level 3 : Hypermedia Controls

Hypermedia est l’une des principales règles de la thèse de Fielding.
L’idée est de retrouver dans les API ReST la même logique Hypermedia qu’en HTML par exemple. Aujourd’hui, cela se résume principalement par la présence de liens dans les ressources permettant de définir la relation avec d’autres ressources.
L’API ReST devient alors discoverable.
Dernière mise à jour 2yr ago