作者:幽咽小香 | 来源:互联网 | 2023-05-25 12:23
假设我有两个型号.Project
和Task
.任务必须属于项目.
以下哪个URL端点是最佳做法?
得到 https://api.myapp.com/projects/:project_id/tasks/:task_id
得到 https://api.myapp.com/tasks/:task_id?project_id=:project_id
对于过滤结果我总是使用查询参数但我想知道我们应该用所需的参数做什么?
1> 小智..:
根据REST最佳实践,资源成员应该在URL中.在你的情况下,这意味着:
https://api.myapp.com/projects/:project_id/tasks/:task_id
查询参数应该用作过滤器.例如,获取名称以"TEST"开头的所有任务/
https://api.myapp.com/projects/:project_id/tasks/:task_id?nameStartsWith=TEST
您可以在此处阅读更多相关信息:http://www.restapitutorial.com/resources.html
下载PDF并查看第14页 - 资源命名.