Tenho uma pergunta relacionada ao design de url REST. Encontrei alguns posts relevantes aqui: Diferentes representações RESTful do mesmo recurso e aqui: RESTful url para GET recurso por campos diferentes, mas as respostas não são muito claras sobre quais são as melhores práticas e por quê. Aqui está um exemplo.
Eu tenho urls REST para representar o recurso "usuários". Posso OBTER um usuário com um id ou com um endereço de e-mail, mas a representação do URL permanece a mesma para ambos. Ao ler muitos blogs e livros, vejo que as pessoas têm feito isso de muitas maneiras diferentes. Por exemplo
leia essa prática em um livro e em algum lugar no stackoverflow (não consigo encontrar o link novamente)
GET /users/id={id}
GET /users/email={email}
leia esta prática em muitos blogs
GET /users/{id}
GET /users/email/{email}
Os parâmetros de consulta são normalmente usados para filtrar os resultados dos recursos representados pelo url, mas também vi essa prática sendo usada
GET /users?id={id}
GET /users?email={email}
Minha pergunta é, de todas essas práticas, qual faria mais sentido para os desenvolvedores que consomem as apis e por quê? Acredito que não existam regras imutáveis quando se trata de designs de url REST e convenções de nomenclatura, mas eu só queria saber qual caminho devo seguir para ajudar os desenvolvedores a entender melhor as apis.
Todos ajudam apreciados!