RESTAPI JSON错误代码和错误消息
我最近一直在编写Web服务,这是一个成功和错误响应示例 错误RESTAPI JSON错误代码和错误消息,json,api,rest,standards,Json,Api,Rest,Standards,我最近一直在编写Web服务,这是一个成功和错误响应示例 错误 { "code": 1150, "status": false, "message": "API Student does not exist.", "serverTime": "2013-11-29 09:47:52" } 成功 { "code": 200, "status": true, "data": { "id": 49 }, "serverTime": "2014-04-17 0
{
"code": 1150,
"status": false,
"message": "API Student does not exist.",
"serverTime": "2013-11-29 09:47:52"
}
成功
{
"code": 200,
"status": true,
"data": {
"id": 49
},
"serverTime": "2014-04-17 05:06:17"
}
关于返回错误,我有一个困惑,为什么我们总是返回一个错误代码和一条消息,例如,当需要用户名和密码作为输入参数时,假设发出了一个空白请求,那么我返回的是错误代码1100和错误消息“用户名不正确”。我从不返回整个错误列表,例如,在这种情况下,应该发送两条带有两个错误代码的错误消息,这样可以节省最终用户的数据和时间
这是我建议的一个例子
{
"code": 1010,
"status": false,
"errors": [
{
"code": 1000,
"name": "Username invalid"
},
{
"code": 1001,
"name": "Password invalid"
},
{
"code": 1002,
"name": "Password not strong"
}
],
"serverTime": "2013-12-03 12:34:02"
}
为什么这不是一个好方法呢?我在Twitter API或Facebook API中都没有见过这种情况。没有人能阻止API设计者返回多个可能的错误响应决策仅由他们决定,但我认为您应该返回服务器端发生的最相关错误 背后可能有很多原因,如下所示:
以facebook为例,如果告诉所有字段错误,这将是一个安全漏洞。这些信息将使暴力行动更容易/更快。当您的应用程序代码执行简单的序列时,在某一点上发生了意外情况,然后返回错误。为什么要继续收集更多错误?在您的情况下,我只需在(html输入标记:required=“required”)之前避免通过html/js检查发送空公式,我认为安全性不是问题,因为这些已经通过移动屏幕公开,假设这是移动应用程序的登录屏幕或注册屏幕。这可能会节省最终用户的时间,减少api调用的数量,而无需多次调用api来检索错误。@timeman789-我将始终使用最相关的错误。