#API 錯誤處理指南
本指南概述了後端應如何處理合作夥伴 APIs 傳回的錯誤。錯誤遵循一致的 JSON 格式:
{
"code": "<error_code>",
"debugMessage": "<detailed_error_description>",
"message": "<user_friendly_message>"
}
#錯誤格式說明
- 代碼:錯誤的預定義整數標識符(不是 HTTP 狀態代碼)。每種錯誤類型都是唯一的。
- debugMessage:為開發人員提供協助偵錯的詳細說明。在
production環境中不可用。 - 訊息:適合最終使用者顯示的簡潔、使用者友善的訊息。
#HTTP 狀態碼
| HTTP 狀態 | 描述 | 範例debugMessage |
範例message |
|---|---|---|---|
| 400 | 錯誤的請求 | “請求參數無效:缺少‘user_id’” | “錯誤的請求” |
| 401 | 401認證失敗 | “API 金鑰無效或遺失” | “未經授權的存取” |
| 403 | 403存取被拒絕 | “使用者缺乏此資源的權限” | “禁止訪問” |
| 429 | 429請求過多 | “超出速率限制;請稍等後再重試” | “請求太多” |
| 500 | 500伺服器端問題 | “發生意外的伺服器錯誤” | “出了點問題” |
#處理指南
解析錯誤回應:
- 始終檢查反應中是否存在
code、debugMessage和message。 - 使用
code以程式方式處理特定的錯誤情況。
- 始終檢查反應中是否存在
記錄和監控:
- 記錄
code和debugMessage的所有錯誤以協助偵錯。 - 透過
code監控錯誤率以識別重複出現的問題。
- 記錄
優雅降級:
- 當API呼叫失敗時提供後備機製或使用者友善的錯誤訊息。
- 避免應用程式崩潰;基於
code優雅地處理錯誤。