后端接口返回数据及编码的格式设计

时间:2021-04-30 19:38:14

返回数据及返回编码格式设计

整体设计

{
"status": 404,
"code": 40483,
"message": "Oops! It looks like that file does not exist.",
"url": "/errors/40483"
"data":{
"id": "ab473fb91021000",
"email": "admin@soulgame.com",
"contact": "songxx",
"telephone": "15901288634",
"qq": "12796694",
"company": "北京魂世界信息技术有限公司",
"website": "http://soulgame.com/",
"username": null,
"password": null,
"ackPassword": null
}
}

组成元素

Status

状态属性在响应头中仅仅是相同的HTTP状态码(整数)。这是一个方便的机制:通过在消息体中包含状态代码,任何处理错误的REST客户端都只有一个地方可以完全理解错误:错误表示本身。不需要检查标题值或其他位置来理解消息。

Code

code是特定于REST API的错误代码。它传达非常特定的问题域的信息的东西。

由于仅有24个广为人知的通用HTTP错误代码的限制,这是方便的。通过使用我们自己的代码,可以传达更多具体和更丰富的理由,为什么失败。同样,API客户端可以接收的信息越多越好。

在上面的例子中,code属性的值是40483.虽然通用的“status”:404表示没有找到请求的资源,但是也许有一个特定于应用程序的代码40483,它不仅表明资源没有没有找到,而且可以定位到具体哪个资源没有找到.

Message

消息属性是一个很好的人类可读的错误消息,它应该是友好的,容易理解的,并传达一个简明的理由,为什么发生错误.

Url

url属性指定一个URL,就是正在调用的接口.

Data

后端返回给前端的数据.