datai/docs/archive/api-docs/setting/DataiConfigSnapshotController/0008-restore-snapshot.md

4.7 KiB
Raw Blame History

接口文档

接口信息

  • 接口名称: 恢复快照
  • 接口路径: /setting/snapshot/{snapshotId}/restore
  • 请求方法: POST
  • 模块归属: datai-salesforce-setting
  • 版本号: v1.0
  • 创建日期: 2026-01-14
  • 最后更新: 2026-01-14

功能描述

将快照中的配置恢复到当前环境,覆盖当前环境的配置信息。恢复成功后,当前环境的配置将被快照中的配置替换。请谨慎操作,建议在恢复前先创建当前环境的备份快照。

请求参数

路径参数

参数名 类型 必填 描述 示例 默认值
snapshotId String 快照ID 1 -

参数说明:

  • snapshotId: 快照ID用于指定要恢复的快照

请求参数

参数名 类型 必填 描述 示例 默认值
remark String 备注 恢复快照 -

参数说明:

  • remark: 备注,用于记录恢复操作的原因或其他信息

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "msg": "操作成功",
  "data": 1
}
字段名 类型 描述 示例
code Integer 响应码 200
msg String 响应消息 操作成功
data Integer 影响的行数 1

失败响应

HTTP 状态码: 400/401/403/404/500

{
  "code": 404,
  "msg": "快照不存在",
  "data": null
}
错误码 错误信息 描述
400 参数错误 参数验证失败
401 您没有权限执行此操作 权限不足
403 访问被拒绝 访问被拒绝
404 快照不存在 快照不存在
500 恢复快照失败 系统错误

接口示例

请求示例

curl -X POST "http://localhost:8080/setting/snapshot/1/restore" \
  -H "Authorization: Bearer [token]" \
  -H "Content-Type: application/json" \
  -d '{
    "remark": "恢复快照"
  }'

响应示例

成功:

{
  "code": 200,
  "msg": "操作成功",
  "data": 1
}

失败:

{
  "code": 404,
  "msg": "快照不存在",
  "data": null
}

错误处理

  1. 权限验证失败: 检查用户是否具有 setting:snapshot:restore 权限
  2. 参数验证失败: 检查参数格式是否正确
  3. 快照不存在: 检查快照ID是否存在如不存在则返回错误
  4. 快照内容无效: 检查快照内容是否有效,如无效则返回错误
  5. 环境不匹配: 检查快照的环境是否与当前环境匹配,如不匹配则返回错误
  6. 系统错误: 记录错误日志并返回通用错误信息

注意事项

  1. 接口需要登录认证,需要携带有效的 token
  2. 接口需要 setting:snapshot:restore 权限
  3. 快照ID为必填项通过路径参数传递
  4. 恢复操作会覆盖当前环境的配置,请谨慎操作
  5. 建议在恢复前先创建当前环境的备份快照
  6. 恢复操作会记录到操作日志中
  7. 恢复操作不可逆,请确认后再执行
  8. 快照的环境必须与当前环境匹配
  9. 快照内容必须有效,否则恢复会失败
  10. 恢复成功后,当前环境的配置将被快照中的配置替换
  11. 建议在恢复前先查看快照的详细信息
  12. 恢复操作可能会影响正在运行的应用,请选择合适的时间执行

相关接口

实现细节

  1. 接收快照ID和备注参数
  2. 调用 IDataiConfigSnapshotService 恢复快照
  3. 返回恢复结果

测试信息

测试环境

  • 环境: 本地开发环境
  • 版本: v1.0

测试用例

测试场景 输入参数 预期结果 实际结果 状态
恢复源ORG快照 snapshotId=1source 恢复成功 恢复成功 通过
恢复目标ORG快照 snapshotId=2target 恢复成功 恢复成功 通过
恢复完整快照 所有参数 恢复成功 恢复成功 通过
恢复不存在的快照 snapshotId=999 返回404错误 返回404错误 通过
缺少必填参数 缺少snapshotId 返回参数错误 返回参数错误 通过
无权限访问 无权限token 返回401错误 返回401错误 通过