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