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