最佳答案
我有一个关于 RESTURL 设计的问题。我在这里发现了一些相关的文章 同一资源的不同 RESTful 表示形式和这里的 通过不同字段获取资源的 RESTful url,但是对于什么是最佳实践以及为什么是最佳实践的答复并不十分清楚。举个例子。
我有表示“用户”资源的 REST URL。我可以得到一个用户与 ID 或电子邮件地址,但 URL 表示保持相同的两个。通过阅读大量的博客和书籍,我发现人们已经在以许多不同的方式做这件事。比如说
在一本书和堆栈溢出的某处读到这个实践(我似乎找不到这个链接了)
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 URL 设计和命名约定方面没有一成不变的规则,但是我只是想知道我应该采取哪种方式来帮助开发人员更好地理解 API。