У меня есть вопрос, связанный с дизайном URL REST. Я нашел здесь несколько релевантных сообщений: Различные представления RESTful одного и того же ресурса и здесь: URL-адрес RESTful для предоставления ресурсов различными полями, но ответы не совсем ясны в отношении того, что такое лучшие практики и почему. Вот пример.
У меня есть URL REST для представления ресурса "users". Я могу ПОЛУЧИТЬ пользователя с идентификатором или с адресом электронной почты, но представление URL-адреса остается неизменным для обоих. Просматривая много блогов и книг, я вижу, что люди делали это по-разному. Например
прочитайте эту практику в книге и где-нибудь в stackoverflow (я не могу найти ссылку снова)
GET /users/id={id}
GET /users/email={email}
прочитайте эту практику во многих блогах
GET /users/{id}
GET /users/email/{email}
Параметры запроса обычно используются для фильтрации результатов ресурсов, представленных URL-адресом, но я также видел, что эта практика также используется
GET /users?id={id}
GET /users?email={email}
Мой вопрос заключается в том, что из всех этих практик, которые будут иметь смысл для разработчиков, потребляющих apis и почему? Я считаю, что нет никаких правил, установленных в камне, когда речь заходит о проектах REST url и соглашениях об именах, но я просто хотел узнать, какой маршрут я должен предпринять, чтобы помочь разработчикам лучше понять apis.
Вся помощь оценена!