适用于服务器操作的REST方法/路径/响应

时间:2017-03-26 15:29:59

标签: rest api restful-architecture restful-url

我正在寻找在以下场景中使用的最佳REST方法/路径: 有一个系统包含用户项目,其中每个项目都有几个任务(任务只能与一个项目相关联),每个用户可以分配给任何任务。

我愿意添加的API是一个自动将用户分配到特定项目上的任务的API,因此基本上用户要求服务器为他分配一些任务。

我虽然关注以下网址:

  • PATCH /project/{id}/tasks - 即用户要求服务器以服务器认为最佳的方式更新任务列表
  • PATCH /project/{id}/tasks/assign - 拥有网址的具体操作部分

我选择PATCH的原因是因为任务只是部分更改(每个任务都有user字段,这基本上就是我要更新的内容。

我面临的另一个问题是,如果项目中没有剩余的“开放”任务,响应代码应该是什么?什么是最好的方式向用户发出他没有得到任何新任务的信号?

谢谢!

1 个答案:

答案 0 :(得分:0)

为用户分配任务是新的assignment资源,其中包含projectIduserIdtaskId(在服务器端自动选择) )。以这种方式处理它允许应用GETPOSTDELETE HTTP方法来管理特定分配。

资源网址可能(取决于您的方案)如下:

GET:  project/{id}/assignments/{userId}
POST: project/{id}/assignments/{userId}

如果找到任务并创建了作业,则发布新作业return 201,如果没有,则200