在微服務、前後端分離的架構模式下,絕大多數專案或多或少都會呼叫第三方API或者提供API給第三方呼叫。特別是我們自己作為API服務方時,API的設計規範很重要,一個設計良好的API要求具備語義性,一看就懂,簡潔明瞭。
API介面返回資料的格式有很多種,比如說:純文字、XML、JSON、二進位制資料等。但從直觀性上說,因為返回的資料大多是結構化資料,所以XML和JSON格式返回較為直觀。
但從效能上考慮,JSON更輕量級,所以當前API返回資料格式幾乎99%是返回JSON字串的。
1、CODE狀態碼
此狀態碼用來標識當前請求的狀態,這樣便於快速定位問題。可以參考HTTP狀態碼劃分一個數欄位來表示特定的操作狀態,如:
200:正常
1000~1999:引數級錯誤
2000~2999:邏輯錯誤
3000~3999:程式碼異常及錯誤
2、訊息文字
此欄位主要用於對錯誤的描述,正常響應時此欄位為空,一旦有錯誤時會提示具體的錯誤原因。
3、資料結構體
此資料結構體就是呼叫方需要呼叫的資料,不同業務它所包含的欄位不同。
在微服務、前後端分離的架構模式下,絕大多數專案或多或少都會呼叫第三方API或者提供API給第三方呼叫。特別是我們自己作為API服務方時,API的設計規範很重要,一個設計良好的API要求具備語義性,一看就懂,簡潔明瞭。
API介面返回格式如何選擇?API介面返回資料的格式有很多種,比如說:純文字、XML、JSON、二進位制資料等。但從直觀性上說,因為返回的資料大多是結構化資料,所以XML和JSON格式返回較為直觀。
但從效能上考慮,JSON更輕量級,所以當前API返回資料格式幾乎99%是返回JSON字串的。
API返回資料需要包含哪些元素?1、CODE狀態碼
此狀態碼用來標識當前請求的狀態,這樣便於快速定位問題。可以參考HTTP狀態碼劃分一個數欄位來表示特定的操作狀態,如:
200:正常
1000~1999:引數級錯誤
2000~2999:邏輯錯誤
3000~3999:程式碼異常及錯誤
2、訊息文字
此欄位主要用於對錯誤的描述,正常響應時此欄位為空,一旦有錯誤時會提示具體的錯誤原因。
3、資料結構體
此資料結構體就是呼叫方需要呼叫的資料,不同業務它所包含的欄位不同。