Comme avec la plupart des choses que je dirais que cela dépend. L'hypothèse générale en travaillant avec REST est que vous avez des collections de ressources. C'est pourquoi la convention de dénomination la plus courante consiste à utiliser des pluriels lors de la désignation des points de terminaison.
Lorsque je vois et le point de terminaison appelé /posts
, je suppose qu'en faisant un GET, je recevrais une collection de messages. De même, en appelant le /posts/{id}
, je devrais recevoir un message avec un identifiant particulier. Les collections de ressources sont également intégrées les unes aux autres - lorsque je vois un point d'extrémité /posts/{id}/drafts
, je suppose que je recevrais des brouillons pour un poste avec un ID donné.
Maintenant, la question est la suivante: voulez-vous traiter vos données comme deux collections distinctes (que vous auriez à synchroniser en quelque sorte) ou voulez-vous rester avec ces collections intégrées? Si le premier alors vous pourriez avoir deux points d'extrémité /posts
et /drafts
. Si la seconde, alors vous devriez aller avec le point d'extrémité racine /posts
puis /posts/{id}/drafts
.
Toutefois, si une publication ne contient pas de collection de brouillons, vous pouvez simplement utiliser un seul point de terminaison /posts
et ne pas spécifier d'autres éléments, car cela perturbera la conception de votre API. Tout comme dans votre première proposition.
http://stackoverflow.com/questions/6845772/rest-uri-convention-singular-or-plural-name-of-resource-while-creating-it –