解释 API 响应
每个 API 请求都会生成对客户端的响应。您应检查响应以确定其是否成功,并根据需要检索其他数据。
HTTP 状态代码
下面介绍了 ONTAP REST API 使用的 HTTP 状态代码。
代码 | 原因短语 | Description |
---|---|---|
200 |
确定 |
表示未创建新对象的调用成功。 |
201 |
已创建 |
已成功创建对象。响应中的位置标头包括对象的唯一标识符。 |
202 |
已接受 |
已启动后台作业以执行请求,但尚未完成。 |
400 |
请求错误 |
此请求输入无法识别或不适当。 |
401 |
未授权 |
用户身份验证失败。 |
403 |
已禁止 |
由于授权错误,访问被拒绝。 |
404 |
未找到 |
请求中引用的资源不存在。 |
405. |
不允许使用此方法 |
此资源不支持请求中的 HTTP 方法。 |
409 |
冲突 |
尝试创建对象失败,因为必须先创建另一个对象或请求的对象已存在。 |
500 |
内部错误 |
服务器发生一般内部错误。 |
响应标头
ONTAP 生成的 HTTP 响应包含多个标头。
- 位置
-
创建对象时,位置标头包含新对象的完整 URL ,包括分配给该对象的唯一标识符。
- 内容类型
-
通常为
application/hal+json
。
响应正文
API 请求生成的响应正文内容因对象,处理类型以及请求的成功或失败而异。响应始终在 JSON 中呈现。
-
单个对象
可以根据请求返回一个对象并显示一组字段。例如,您可以使用 GET 使用唯一标识符检索集群的选定属性。
-
多个对象
可以从一个资源收集返回多个对象。在所有情况下,都会使用一致的格式,其中
num_records
表示包含对象实例数组的记录和记录的数量。例如,您可以检索特定集群中定义的节点。 -
作业对象
如果异步处理 API 调用,则会返回作业对象,用于将后台任务固定。例如,用于更新集群配置的修补程序请求会异步处理并返回一个作业对象。
-
错误对象
如果发生错误,则始终返回 Error 对象。例如,在尝试更改未为集群定义的字段时,您将收到错误消息。
-
空 JSON 对象
在某些情况下,不会返回任何数据,并且响应正文包含一个空的 JSON 对象。
HAL 链接
ONTAP REST API 使用 HAL 作为机制来支持将 Hypermedia 作为应用程序状态引擎( HATEOAS )。返回用于标识特定资源的对象或属性时,还会包含一个 HAL 编码的链接,您可以轻松地找到并确定有关该资源的其他详细信息。
errors
如果发生错误,响应正文将返回一个错误对象。
- 格式。
-
错误对象的格式如下:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
您可以使用代码值确定常规错误类型或类别,并使用消息确定特定错误。如果可用,目标字段将包含与错误关联的特定用户输入。
- 常见错误代码
-
下表介绍了常见错误代码。特定 API 调用可能包括其他错误代码。
代码 Description 1.
409
具有相同标识符的对象已存在。
2.
400
字段的值无效或缺失,或者提供了额外的字段。
3.
400
不支持此操作。
4.
405.
找不到具有指定标识符的对象。
6.
403
拒绝执行请求的权限。
8.
409
资源正在使用中。