我有一个与REST网址设计有关的问题。我在这里找到了一些相关的文章:相同资源的不同RESTful表示形式以及此处:不同字段的RESTful到GET资源的url,但是关于最佳实践是什么以及为什么还不清楚。这是一个例子。
我有代表“用户”资源的REST网址。我可以使用ID或电子邮件地址来获取用户,但两者的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}
我的问题是,在所有这些实践中,哪种方法最适合使用api的开发人员,为什么?我相信,关于REST网址设计和命名约定,没有固定的规则,但是我只是想知道我应该采取哪种方式来帮助开发人员更好地理解API。
所有帮助表示赞赏!