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