J'ai une question relative à la conception de l'URL REST. J'ai trouvé quelques articles pertinents ici: Différentes représentations RESTful de la même ressource et ici: URL RESTful pour GET ressource par différents champs mais les réponses ne sont pas tout à fait claires sur les meilleures pratiques et pourquoi. Voici un exemple.
J'ai des URL REST pour représenter la ressource "utilisateurs". Je peux OBTENIR un utilisateur avec un identifiant ou une adresse e-mail, mais la représentation de l'URL reste la même pour les deux. En parcourant beaucoup de blogs et de livres, je constate que les gens font cela de différentes manières. Par exemple
lire cette pratique dans un livre et quelque part sur stackoverflow (je n'arrive pas à retrouver le lien)
GET /users/id={id}
GET /users/email={email}
lisez cette pratique sur de nombreux blogs
GET /users/{id}
GET /users/email/{email}
Les paramètres de requête sont normalement utilisés pour filtrer les résultats des ressources représentées par l'url, mais j'ai également vu cette pratique être utilisée
GET /users?id={id}
GET /users?email={email}
Ma question est, parmi toutes ces pratiques, laquelle serait la plus logique pour les développeurs qui utilisent les API et pourquoi? Je pense qu'il n'y a pas de règles gravées dans le marbre en ce qui concerne les conceptions d'URL REST et les conventions de dénomination, mais je voulais juste savoir quelle route je devrais emprunter pour aider les développeurs à mieux comprendre les API.
Toute l'aide appréciée!