API 応答の解釈
各 API 要求でクライアントへの応答が生成されます。応答を調べて成功したかどうかを確認し、必要に応じて追加データを取得します。
HTTP ステータスコード
ONTAP REST API で使用される HTTP ステータスコードを次に示します。
コード | 理由フレーズ | 説明 |
---|---|---|
200 |
わかりました |
新しいオブジェクトを作成しない呼び出しが成功したことを示します。 |
201 |
作成済み |
オブジェクトが作成されました。応答の location ヘッダーにオブジェクトの一意の識別子が含まれます。 |
202. |
承認済み |
バックグラウンドジョブで要求の実行が開始されましたが、まだ完了していません。 |
400 |
無効な要求です |
要求の入力が認識されないか不適切です。 |
401 |
権限がありません |
ユーザ認証に失敗しました。 |
403 |
禁止されている |
認証エラーによりアクセスが拒否されました。 |
404 |
が見つかりません |
要求で参照されているリソースが存在しません。 |
405 |
メソッドを使用できません |
要求の HTTP メソッドがリソースに対してサポートされていません。 |
409 |
競合しています |
先に別のオブジェクトを作成する必要があるか、要求されたオブジェクトがすでに存在するため、オブジェクトの作成に失敗しました。 |
500 |
内部エラー |
サーバで一般的な内部エラーが発生しました。 |
応答ヘッダー
ONTAP によって生成される HTTP 応答には、いくつかのヘッダーが含まれています。
- 場所
-
オブジェクトが作成されると、オブジェクトに割り当てられた一意の識別子を含む、新しいオブジェクトへの完全な URL が location ヘッダーに含まれます。
- コンテンツタイプ
-
通常は 'application/hal+json になります
応答の本文
API 要求の結果として返される応答の本文の内容は、オブジェクト、処理タイプ、および要求の成功または失敗によって異なります。応答は常に JSON 形式になります。
-
単一のオブジェクト
1 つのオブジェクトを要求に基づいて一連のフィールドとともに返すことができます。たとえば、 GET では、一意の識別子を使用してクラスタの選択したプロパティを取得できます。
-
複数のオブジェクト
リソースコレクションから複数のオブジェクトを返すことができます。いずれの場合も ' 一貫性のある形式が使用されており 'num_records にはオブジェクト・インスタンスの配列を含むレコードおよびレコードの数が示されますたとえば、特定のクラスタで定義されているノードを取得できます。
-
ジョブオブジェクト
API 呼び出しが非同期で処理されると、バックグラウンドタスクのアンカーを設定するジョブオブジェクトが返されます。たとえば、クラスタ構成の更新に使用される PATCH 要求は非同期で処理され、ジョブオブジェクトが返されます。
-
エラーオブジェクト
エラーが発生した場合は、常にエラーオブジェクトが返されます。たとえば、クラスタに定義されていないフィールドを変更しようとするとエラーが表示されます。
-
JSON オブジェクトが空です
場合によっては、データが返されず、応答の本文に空の JSON オブジェクトが含まれることがあります。
HAL リンク
ONTAP REST API では、 Hypermedia as the Engine of Application State ( HATEOAS )をサポートするメカニズムとして HAL を使用しています。特定のリソースを識別するオブジェクトまたは属性を返す場合、リソースに関する追加の詳細を簡単に見つけて確認できるように HAL 形式のリンクも返されます。
エラー
エラーが発生した場合は、応答の本文でエラーオブジェクトが返されます。
- の形式で入力し
-
エラーオブジェクトの形式は次のとおりです。
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
code の値で一般的なエラーの種類やカテゴリを特定し、 message で具体的なエラーの内容を確認できます。該当する場合、エラーに関連する特定のユーザ入力がターゲットフィールドに表示されます。
- 一般的なエラーコード
-
次の表に、一般的なエラーコードを示します。特定の API 呼び出しについては、追加のエラーコードが含まれる場合があります。
コード 説明 1.
409
同じ識別子のオブジェクトがすでに存在します。
2.
400
フィールドの値が無効であるか、値が指定されていないか、余分なフィールドが指定されています。
3.
400
この処理はサポートされません。
4.
405
指定した識別子のオブジェクトが見つかりません。
6.
403
要求を実行する権限が拒否されました。
8.
409
リソースが使用中です。