猿问

标准的JSON API响应格式?

是否存在用于从API构造JSON响应的标准或最佳实践?显然,每个应用程序的数据都是不同的,所以我不关心,而是“响应样板”,如果你愿意的话。我的意思的一个例子:


成功要求:


{

  "success": true,

  "payload": {

    /* Application-specific data would go here. */

  }

}

请求失败:


{

  "success": false,

  "payload": {

    /* Application-specific data would go here. */

  },

  "error": {

    "code": 123,

    "message": "An error occurred!"

  }

}


POPMUISE
浏览 984回答 3
3回答

狐的传说

是的,已经出现了一些标准(尽管对标准的定义有一些自由):JSON API - JSON API还包括创建和更新资源,而不仅仅是响应。JSend - 简单而且可能你正在做的事情。OData JSON协议 - 非常复杂。HAL - 像OData一样,但想成为HATEOAS。还有JSON API描述格式:昂首阔步JSON Schema(由swagger使用,但你可以单独使用它)JSON中的WADL肾错构瘤HAL,因为HATEOAS在理论上是自我描述的。

大话西游666

成功回复 data{  "data": {    "id": 1001,    "name": "Wing"  }}错误响应返回 error{  "error": {    "code": 404,    "message": "ID not found"  }}如果您的客户端是JS,您可以if ("error" in response) {}用来检查是否有错误。

沧海一幻觉

我猜一个事实标准还没有真正出现(也许永远不会)。但无论如何,这是我的看法:成功要求:{  "status": "success",  "data": {    /* Application-specific data would go here. */  },  "message": null /* Or optional success message */}请求失败:{  "status": "error",  "data": null, /* or optional error payload */  "message": "Error xyz has occurred"}优势:成功和错误情况下的顶级元素相同缺点:没有错误代码,但如果需要,您可以将状态更改为(成功或失败)代码,或者 - 您可以添加另一个名为“代码”的顶级项目。
随时随地看视频慕课网APP
我要回答