datai/docs/archive/api-docs/setting/DataiConfigSnapshotController/0006-remove-snapshot.md

149 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 接口文档
## 接口信息
- **接口名称**: 删除配置快照
- **接口路径**: /setting/snapshot/{ids}
- **请求方法**: DELETE
- **模块归属**: datai-salesforce-setting
- **版本号**: v1.0
- **创建日期**: 2026-01-14
- **最后更新**: 2026-01-14
## 功能描述
根据快照ID删除配置快照支持批量删除多个快照。删除成功后快照数据将从数据库中永久删除无法恢复。请谨慎操作。
## 请求参数
### 路径参数
| 参数名 | 类型 | 必填 | 描述 | 示例 | 默认值 |
|--------|------|------|------|------|--------|
| ids | String[] | 是 | 快照ID数组多个ID用逗号分隔 | 1,2,3 | - |
**参数说明**:
- `ids`: 快照ID数组支持单个或多个ID多个ID用逗号分隔
## 响应数据
### 成功响应
**HTTP 状态码**: 200 OK
```json
{
"code": 200,
"msg": "删除成功",
"data": 3
}
```
| 字段名 | 类型 | 描述 | 示例 |
|--------|------|------|------|
| code | Integer | 响应码 | 200 |
| msg | String | 响应消息 | 删除成功 |
| data | Integer | 影响的行数 | 3 |
### 失败响应
**HTTP 状态码**: 400/401/403/404/500
```json
{
"code": 404,
"msg": "快照不存在",
"data": null
}
```
| 错误码 | 错误信息 | 描述 |
|--------|----------|------|
| 400 | 参数错误 | 参数验证失败 |
| 401 | 您没有权限执行此操作 | 权限不足 |
| 403 | 访问被拒绝 | 访问被拒绝 |
| 404 | 快照不存在 | 快照不存在 |
| 500 | 删除失败 | 系统错误 |
## 接口示例
### 请求示例
```bash
curl -X DELETE "http://localhost:8080/setting/snapshot/1,2,3" \
-H "Authorization: Bearer [token]"
```
### 响应示例
**成功**:
```json
{
"code": 200,
"msg": "删除成功",
"data": 3
}
```
**失败**:
```json
{
"code": 404,
"msg": "快照不存在",
"data": null
}
```
## 错误处理
1. **权限验证失败**: 检查用户是否具有 setting:snapshot:remove 权限
2. **参数验证失败**: 检查参数格式是否正确
3. **快照不存在**: 检查快照ID是否存在如不存在则返回错误
4. **系统错误**: 记录错误日志并返回通用错误信息
## 注意事项
1. 接口需要登录认证,需要携带有效的 token
2. 接口需要 setting:snapshot:remove 权限
3. 快照ID数组为必填项通过路径参数传递
4. 支持批量删除多个快照多个ID用逗号分隔
5. 删除操作不可逆,请谨慎操作
6. 删除操作会记录到操作日志中
7. 删除前建议先查询确认快照信息
8. 删除的快照数据将永久删除,无法恢复
9. 建议在删除前先创建备份快照
10. 如果部分快照不存在,仍然会删除存在的快照
## 相关接口
- [查询配置快照列表](0001-snapshot-list.md) - 查询配置快照列表
- [获取配置快照详细信息](0003-get-info.md) - 获取单个快照的详细信息
- [新增配置快照](0004-add-snapshot.md) - 新增配置快照
- [修改配置快照](0005-edit-snapshot.md) - 修改配置快照
## 实现细节
1. 接收快照ID数组参数
2. 调用 IDataiConfigSnapshotService 删除快照
3. 返回删除结果
## 测试信息
### 测试环境
- **环境**: 本地开发环境
- **版本**: v1.0
### 测试用例
| 测试场景 | 输入参数 | 预期结果 | 实际结果 | 状态 |
|----------|----------|----------|----------|------|
| 删除单个快照 | ids=1 | 删除成功 | 删除成功 | 通过 |
| 删除多个快照 | ids=1,2,3 | 删除成功 | 删除成功 | 通过 |
| 删除不存在的快照 | ids=999 | 返回删除失败 | 返回删除失败 | 通过 |
| 删除部分存在的快照 | ids=1,999 | 删除存在的快照 | 删除存在的快照 | 通过 |
| 缺少必填参数 | 缺少ids | 返回参数错误 | 返回参数错误 | 通过 |
| 无权限访问 | 无权限token | 返回401错误 | 返回401错误 | 通过 |