API 响应的解释
每个 API 请求都会生成一个响应返回给客户端。您应该检查响应以确定它是否成功并根据需要检索其他数据。
HTTP 状态代码
SnapCenter REST API 使用的 HTTP 状态代码如下所述。
代码 | 描述 |
---|---|
200 |
OK 表示调用成功,但未创建新对象。 |
201 |
创建 对象已成功创建。响应中的位置标头包含对象的唯一标识符。 |
202 |
已接受 后台作业已启动以执行请求,但尚未完成。 |
400 |
错误请求 请求输入无法识别或不合适。 |
401 |
未经授权的用户身份验证失败。 |
403 |
由于授权(RBAC)错误,禁止访问被拒绝。 |
404 |
未找到请求中引用的资源不存在。 |
405 |
方法不允许 该资源不支持请求中的 HTTP 方法。 |
409 |
冲突 尝试创建对象失败,因为必须先创建不同的对象或请求的对象已存在。 |
500 |
内部错误 服务器发生一般内部错误。 |
响应标头
SnapCenter生成的 HTTP 响应中包含几个标头。
位置
当创建一个对象时,位置标头包含新对象的完整 URL,其中包括分配给该对象的唯一标识符。
内容类型
这通常是 application/json
。
响应正文
API 请求产生的响应主体的内容根据对象、处理类型以及请求的成功或失败而有所不同。响应始终以 JSON 形式呈现。
单个对象
根据请求,可以返回带有一组字段的单个对象。例如,您可以使用 GET 操作,通过唯一标识符检索集群的选定属性。
多个对象
可以返回资源集合中的多个对象。在所有情况下,都使用一致的格式, `num_records`指示记录数以及包含对象实例数组的记录。例如,您可以检索特定集群中定义的节点。
作业对象
如果异步处理 API 调用,则会返回一个 Job 对象来锚定后台任务。例如,用于更新集群配置的PATCH请求是异步处理的,并返回一个Job对象。
错误对象
如果发生错误,则始终返回 Error 对象。例如,当您尝试更改未为集群定义的字段时,您将收到错误。
空
在某些情况下,不会返回任何数据,并且响应主体包含一个空的 JSON 对象。
错误
如果发生错误,则会在响应主体中返回错误对象。
格式
错误对象具有以下格式:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
您可以使用代码值来确定一般错误类型或类别,并使用消息来确定具体错误。当可用时,目标字段包括与错误相关的特定用户输入。
常见错误代码
常见错误代码如下表所示。特定的 API 调用可能包含额外的错误代码。
代码 | 描述 |
---|---|
409 |
具有相同标识符的对象已存在。 |
400 |
字段的值无效或缺失,或者提供了额外的字段。 |
400 |
不支持该操作。 |
405 |
找不到具有指定标识符的对象。 |
403 |
执行请求的权限被拒绝。 |
409 |
资源正在使用中。 |