Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
服务器操作的适当REST方法/路径/响应_Rest_Api_Restful Architecture_Restful Url - Fatal编程技术网

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

服务器操作的适当REST方法/路径/响应,rest,api,restful-architecture,restful-url,Rest,Api,Restful Architecture,Restful Url,我正在寻找在以下场景中使用的最佳REST方法/路径: 有一个包含用户和项目的系统,其中每个项目都有多个任务(任务只能与单个项目关联),每个用户都可以分配给任何任务 我愿意添加的API是一个自动将用户分配到特定项目上的任务的API,因此基本上用户要求服务器为他分配一些任务 我想了解以下URL: PATCH/project/{id}/tasks-即用户要求服务器以服务器认为最好的方式更新任务列表 PATCH/project/{id}/tasks/assign-具有url的特定操作部分 我使用PA

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

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

我想了解以下URL:

  • PATCH/project/{id}/tasks
    -即用户要求服务器以服务器认为最好的方式更新任务列表
  • PATCH/project/{id}/tasks/assign
    -具有url的特定操作部分
我使用
PATCH
的原因是任务只是部分更改(每个任务都有一个
user
字段,这基本上是我想要更新的)

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

谢谢

将任务分配给用户是一种新的
分配
资源,它包含
projectId
用户ID
任务ID
(在服务器端自动选择)。以这种方式处理它允许应用
GET
POST
DELETE
HTTP方法来仅管理特定的分配

资源URL可能(取决于您的场景)如下所示:

GET:  project/{id}/assignments/{userId}
POST: project/{id}/assignments/{userId}
如果找到任务并创建了任务,则应发布新任务,如果没有,则应发布
200