功能描述
用于恢复指定回收站项目(批量)。
说明:
要求权限:admin、space_admin 或 restore_recycled。有关权限详情请参见 生成访问令牌接口。
恢复项目时需保证该项目所在的目录存在。
恢复项目时如果有同名文件存在,则默认重命名文件。
请求
请求示例
POST /api/v1/recycled/{LibraryId}/{SpaceId}?restore&access_token={AccessToken}&user_id={UserId}
请求参数
请求参数 | 描述 | 类型 | 是否必选 |
LibraryId | String | 是 | |
SpaceId | String | 否 | |
AccessToken | String | 是 | |
UserId | String | 否 | |
RestorePathStrategy | 恢复项目源路径的处理方式,默认为 originalPath,包含以下内容: originalPath:恢复到原始路径,原始路径不存在则报错 fallbackToRoot:恢复到原始路径,原始路径不存在则恢复到根目录 | String | 否 |
请求体
请求体示例:
[ 1, 2, 3, 4, 5 ]
请求体为数组,必填参数。
响应
响应码
执行成功
当项目较多以异步方式恢复时,返回 HTTP 202 Accepted。
当项目较少以同步方式恢复时,返回 HTTP 200 OK(全部执行成功)或 HTTP 207 Multi-Status(存在部分或全部执行失败)。
响应体
application/json
响应体示例:
返回 HTTP 200 OK 或 HTTP 207 Multi-Status 时:
{"result": [{"status": 200,"path": [ "foo", "bar", "file (1).docx" ],"recycledItemId": 1},{"status": 404,"code": "RecycledItemNotFound", // 文件不存在"message": "Recycled item not found.","recycledItemId": 2},{"status": 404,"code": "DirectoryNotFound", // 父目录不存在"message": "Directory not found.","recycledItemId": 3},{"status": 200, // 目标目录已存在进行恢复时会自动创建一个新目录"path": [ "foo", "new_directory" ],"recycledItemId": 4},{"status": 404,"code": "SourceFileNotFound", // 符号链接指向的源文件不存在"message": "Source file not found.","recycledItemId": 5}]}
返回 HTTP 202 Accepted 时:
{ "taskId": 20 }
[{"taskId": 20,"status": 200,"result": [{ "status": 200, "path": [ "foo", "bar", "file (2).docx" ], "recycledItemId": 6 }]}]
响应体字段说明:
响应参数 | 描述 | 类型 |
result.status | 状态 200:恢复成功 其他:恢复失败 | String |
result.path | 表示最终的文件路径 | String Array |
result.recycledItemId | 发起请求时传入的回收站项目 ID | String |
taskId | 异步方式恢复时的任务 ID,可通过查询任务接口查询任务状态 | String |
查询任务响应体字段说明:
响应参数 | 描述 | 类型 |
status | 状态 202:任务进行中 200:全部执行成功 207:存在部分或全部执行失败 | String |