REST API URL最佳实践

san*_*ius 2 api rest url

假设我有两个型号.ProjectTask.任务必须属于项目.

以下哪个URL端点是最佳做法?

  1. 得到 https://api.myapp.com/projects/:project_id/tasks/:task_id
  2. 得到 https://api.myapp.com/tasks/:task_id?project_id=:project_id

对于过滤结果我总是使用查询参数但我想知道我们应该用所需的参数做什么?

小智 6

根据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
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读更多相关信息:http://www.restapitutorial.com/resources.html 下载PDF并查看第14页 - 资源命名.