我正在寻找在以下场景中使用的最佳REST方法/路径: 有一个系统包含用户和项目,其中每个项目都有几个任务(任务只能与一个项目相关联),每个用户可以分配给任何任务。
我愿意添加的API是一个自动将用户分配到特定项目上的任务的API,因此基本上用户要求服务器为他分配一些任务。
我虽然关注以下网址:
PATCH /project/{id}/tasks
- 即用户要求服务器以服务器认为最佳的方式更新任务列表PATCH /project/{id}/tasks/assign
- 拥有网址的具体操作部分我选择PATCH
的原因是因为任务只是部分更改(每个任务都有user
字段,这基本上就是我要更新的内容。
我面临的另一个问题是,如果项目中没有剩余的“开放”任务,响应代码应该是什么?什么是最好的方式向用户发出他没有得到任何新任务的信号?
谢谢!
答案 0 :(得分:0)
为用户分配任务是新的assignment
资源,其中包含projectId
,userId
和taskId
(在服务器端自动选择) )。以这种方式处理它允许应用GET
,POST
,DELETE
HTTP方法来管理特定分配。
资源网址可能(取决于您的方案)如下:
GET: project/{id}/assignments/{userId}
POST: project/{id}/assignments/{userId}
如果找到任务并创建了作业,则发布新作业return 201
,如果没有,则200
。