跳到主要内容

解读 API 响应

每个 API 请求都会生成一个回复客户端的响应。应检查响应以确定其是否成功并根据需要检索其他数据。

HTTP 状态代码

ONTAP REST API 使用的 HTTP 状态代码如下所述。

代码含义Description(描述)
200确定表示不创建新对象的调用成功。
201已创建已成功创建对象。响应中的位置标头包括对象的唯一标识。
202已接受后台作业已开始执行请求,但尚未完成。
400错误请求请求输入无法识别或不合适。
401未经授权用户认证失败。
403被禁止由于授权(RBAC)错误,访问被拒绝。
404未找到请求中引用的资源不存在。
405不允许的方法资源不支持请求中的 HTTP 方法。
409冲突尝试创建对象失败,因为必须先创建另一个对象,或者所请求的对象已存在。
500内部错误服务器上发生了一般内部错误。

响应标头

ONTAP 生成的 HTTP 响应中包含多个标头。

位置

创建对象时,位置标头包含新对象的完整 URL,其中包括分配给对象的唯一标识。

内容类型
这通常为 application/hal+json

响应正文

API 请求产生的响应正文的内容根据对象、处理类型以及请求的成功或失败状态而不同。响应始终以 JSON 格式呈现。

  • 单个对象

    可以根据请求返回包含一组字段的单个对象。例如,可以使用 GET 根据唯一标识来检索集群的选定属性。

  • 多个对象

    可以返回资源集合中的多个对象。在所有情况下都会使用一致的格式,其中,num_records 表示记录的数量,records 包含一组对象实例。例如,可以检索特定集群中定义的节点。

  • 作业对象

    如果 API 调用以异步方式处理,则会返回一个用于锚定后台任务的作业对象。例如,用于更新集群配置的 PATCH 请求将以异步方式处理,并返回一个作业对象。

  • 错误对象

    如果发生错误,则始终返回错误对象。例如,尝试更改未为集群定义的字段时,将收到错误。

  • 空对象

    在某些情况下,不会返回任何数据,响应正文包含空的 JSON 对象。

HAL 链接

ONTAP REST API 使用 HAL 作为支持“超媒体作为应用程序状态的引擎”(HATEOAS)的机制。当返回一个标识特定资源的对象或属性时,也会包括 HAL 编码链接,可用于轻松找到并确定有关该资源的其他详细信息。

错误

如果发生错误,则会在响应正文中返回错误对象。

格式
错误对象具有以下格式:
"error": {
"message": "<string>",
"code": <integer>[,
"target": "<string>"]
}
代码值可用于确定常规错误类型或类别,消息可用于确定具体错误。目标字段可用时,其中包括与错误关联的具体用户输入。
常见错误代码
常见错误代码如下表中所述。具体的 API 调用可能包含其他错误代码。
错误代码HTTP 状态代码Description(描述)
1409已存在具有相同标识的对象。
2400字段的值无效或缺失,或者提供了额外的字段。
3400不支持该操作。
4405无法找到具有指定标识的对象。
6403执行请求的权限被拒绝。
8409资源正在使用中。