跳至主要内容

PUT /move

描述

将任务移动到指定位置,并返回一个空的 json 对象

该路由处理发送到 /move/{id} 路径的 PUT 请求。 有关可用操作的更多详情,请参阅请求体中 operation 属性的描述(见下方 Payload 部分)。

HTTP 方法路由查询参数
PUT/moveid

查询参数

查询参数在请求行中发送:

名称类型描述
idnumber必填。要移动的任务 ID。如果请求移动多个任务,id 应设置为 0。
信息

移动多个任务时,请确保将 id 设置为 0,否则(如果设置为其他值),只有具有该指定 id 值的单个任务会被移动。

Payload

服务器预期接收一个包含以下属性的 json 对象:

名称类型描述
idnumber可选。被移动任务的 ID。indent/unindent 操作类型时为必填参数。
parentnumber可选。父任务的 ID。
projectnumber可选。任务所属项目的 ID。
targetIdnumber可选。移动后任务将被粘贴到的目标任务 ID。
operationstring必填。服务器专用参数,用于指定操作类型。可用操作类型:"null" - 在当前项目内将任务移动到指定位置(参见 "move-task")、"indent""unindent""project" - 将任务移动到另一个项目(参见 "move-task")。
如果任务在同一项目内移动(operation === null),则 payload 中的 operation 属性不是必填的。
reverseboolean可选。任务的移动位置:移动到目标任务之前(true)或之后(false,默认值)。
batchobject必填。包含所有待移动任务 ID 的数组。如果任务有子项,数组中只包含父任务的 ID。

示例:

{
"id": 5,
"targetId": 2,
"reverse": false,
"operation": null,
"batch": null
}

不同操作类型的示例:

Details

operation === null 当一个任务在当前项目内移动时,其 ID 在请求行中发送,其他属性在请求体中发送。
如果任务在同一项目内移动,payload 中的 operation 属性不是必填的。

Payload 示例:

{
"targetId": 1,
"reverse": true,
"batch": null
}

在同一项目内移动多个任务时:

  • 在请求行中将任务 ID 值设置为 0
  • 在请求体中添加包含待移动任务 ID 的 batch 属性
  • 在请求体中添加其他必要属性

Payload 示例:

{
"targetId": 1,
"reverse": true,
"batch": [1, 2, 3]
}
Details

operation === "indent" || operation === "unindent" 当请求针对单个 indent/unindent 操作时,任务 ID 在请求行中发送,其他任务属性在请求体中发送。

示例:

{
"parent": 2,
"targetId": 2,
"operation": "indent"
}
多个 indent/unindent 操作

当请求对多个任务进行缩进或取消缩进时,请求行中的 ID 值设置为 0,每个任务的 ID 及其他参数应列在 opbatch 任务对象数组中。

换言之,移动多个任务时,请求体中的 json 对象应包含带有操作数据的任务对象 opbatch 数组。

示例:

{
"opbatch": [
{
"id": 1,
"parent": 3,
"targetId": 3,
"operation": "indent"
},
{
"id": 53,
"parent": 3,
"targetId": 3,
"operation": "indent"
}
]
}

operation === "project"

将一个任务移动到另一个项目:

  • 在请求行中将任务 ID 作为查询参数发送

    将该查询参数设置为 0,并在请求体中将任务 ID 作为 batch 属性的值添加
  • 在请求体中:
    • operation 属性值设置为 project
    • 添加 project 属性值,即任务移动目标项目的 ID
    • 如果请求行中 ID 设置为 0,则将任务 ID 作为 batch 属性的值添加

示例:

    {
"project": 2,
"operation": "project",
"batch": [3]
}

如果将多个任务移动到另一个项目,请求行中的 ID 值设置为 0,所有任务 ID 在 batch 数组中指定。
如果移动带有子项的任务,batch 数组中只需指定父任务的 ID。
batch 属性可以包含任意数量的任务 ID。

示例:

  {
"project": 2,
"operation": "project",
"batch": [3, 5, 8, 9]
}

响应

HTTP 状态码表示请求是否成功(response.status == 200)或失败(response.status == 500)。

成功时返回一个空的 json 对象。


相关文章