Pour gérer proprement les erreurs dans les réponses d'un API REST, le mieux est de n'utiliser que les "Status Code" HTTP (404, 400, ...). Parfois cela ne suffit pas.
Dans ce cas, le mieux est d'utiliser :
Vu qu'on utilise déjà ce type de mécanisme aujourd'hui, je pense qu'au moins l'un des deux sera très vite adopté et qu'on s'y retrouvera beaucoup plus rapidement en découvrant une nouvelle API !
Le HTTP Status Code est toujours très utile pour faire des API REST utilisables. Bien souvent, on n'a même plu besoin de rajouter un bête "status" ou "error code" dans les réponses, un simple HTTP Status Code suffit amplement.
Cet article est pas mal du tout sur le sujet. Merci Seb Sauvage.
Convention REST : le nom des ressources est au pluriel et puis c'est tout.
Pour GET et DELETE, c'est assez clair :
GET resources (accès à toutes les ressources)
GET resources/123 (accès à la ressource 123)
DELETE resources/123 (supprime la ressource 123)
Même en omettant la question du POST / PUT, ça reste bizarre pour la création /update :
POST resources (créé / modifie une ressource, ou une liste de ressources)
Moi j'aurai tendance à faire POST resources pour une liste, POST resources/123 pour une ressource.
Très bonne explication sur ce qu'est (ou ce que devrait être !) REST et comment fabriquer une RESTFull API !