API回應的解讀
每個API要求都會對用戶端產生回應。您應該檢查回應、判斷回應是否成功、並視需要擷取其他資料。
HTTP狀態代碼
以下說明了由靜止API使用的HTTP狀態代碼SnapCenter 。
程式碼 | 說明 |
---|---|
200 |
「確定」表示未建立新物件的通話成功。 |
201. |
已成功建立物件。回應中的位置標頭包含物件的唯一識別碼。 |
202.02 |
已接受背景工作已開始執行要求、但尚未完成。 |
400 |
不良要求無法辨識要求輸入、或是不適當。 |
401. |
未獲授權的使用者驗證失敗。 |
403. |
由於授權(RBAC)錯誤、禁止存取遭拒。 |
404.. |
找不到要求中提及的資源不存在。 |
405 |
資源不支援要求中的HTTP方法。 |
409. |
衝突建立物件的嘗試失敗、因為必須先建立不同的物件、或要求的物件已經存在。 |
500 |
內部錯誤伺服器發生一般內部錯誤。 |
回應標頭
許多標頭都包含在SnapCenter 由該功能產生的HTTP回應中。
位置
建立物件時、位置標頭會包含新物件的完整URL、包括指派給物件的唯一識別碼。
內容類型
這通常是 application/json
。
回應本文
API要求所產生的回應本文內容、會因物件、處理類型、以及要求的成功或失敗而有所不同。回應一律以Json呈現。
單一物件
單一物件可根據要求傳回一組欄位。例如、您可以使用「Get」(取得)、使用唯一識別碼擷取叢集的選定內容。
多個物件
可從資源集合傳回多個物件。在任何情況下、都會使用一致的格式 num_records
指出包含物件執行個體陣列的記錄和記錄數。例如、您可以擷取在特定叢集中定義的節點。
工作物件
如果API呼叫以非同步方式處理、則會傳回工作物件、以固定背景工作。例如、用於更新叢集組態的修補程式要求會以非同步方式處理、並傳回工作物件。
錯誤物件
如果發生錯誤、一律會傳回錯誤物件。例如、當您嘗試變更未為叢集定義的欄位時、會收到錯誤訊息。
空白
在某些情況下、不會傳回任何資料、而且回應本文包含空白的Json物件。
錯誤
如果發生錯誤、回應本文會傳回錯誤物件。
格式
錯誤物件的格式如下:
"error": { "message": "<string>", "code": <integer>[, "target": "<string>"] }
您可以使用程式碼值來判斷一般錯誤類型或類別、以及判斷特定錯誤的訊息。如果可用、目標欄位會包含與錯誤相關的特定使用者輸入。
常見錯誤代碼
下表說明常見的錯誤代碼。特定API呼叫可能包含其他錯誤代碼。
程式碼 | 說明 |
---|---|
409. |
具有相同識別碼的物件已存在。 |
400 |
欄位的值有無效值或遺失、或是提供額外欄位。 |
400 |
不支援此作業。 |
405 |
找不到具有指定識別碼的物件。 |
403. |
拒絕執行要求的權限。 |
409. |
資源正在使用中。 |