3 回答

TA貢獻1804條經(jīng)驗 獲得超3個贊
是的,已經(jīng)出現(xiàn)了一些標準(盡管對標準的定義有一些自由):
JSON API - JSON API還包括創(chuàng)建和更新資源,而不僅僅是響應。
JSend - 簡單而且可能你正在做的事情。
OData JSON協(xié)議 - 非常復雜。
HAL - 像OData一樣,但想成為HATEOAS。
還有JSON API描述格式:
昂首闊步
JSON Schema(由swagger使用,但你可以單獨使用它)
JSON中的WADL
腎錯構(gòu)瘤
HAL,因為HATEOAS在理論上是自我描述的。

TA貢獻1817條經(jīng)驗 獲得超14個贊
成功回復 data
{
"data": {
"id": 1001,
"name": "Wing"
}
}
錯誤響應返回 error
{
"error": {
"code": 404,
"message": "ID not found"
}
}
如果您的客戶端是JS,您可以if ("error" in response) {}用來檢查是否有錯誤。

TA貢獻1824條經(jīng)驗 獲得超5個贊
我猜一個事實標準還沒有真正出現(xiàn)(也許永遠不會)。但無論如何,這是我的看法:
成功要求:
{
"status": "success",
"data": {
/* Application-specific data would go here. */
},
"message": null /* Or optional success message */
}
請求失?。?/p>
{
"status": "error",
"data": null, /* or optional error payload */
"message": "Error xyz has occurred"
}
優(yōu)勢:成功和錯誤情況下的頂級元素相同
缺點:沒有錯誤代碼,但如果需要,您可以將狀態(tài)更改為(成功或失?。┐a,或者 - 您可以添加另一個名為“代碼”的頂級項目。
添加回答
舉報