我们使用标准的HTTP status codes 表示远程通信结果。

在远程通信响应正常上,我们定义了一个错误模型,表示服务逻辑功能处理的结果。

错误模型

每个正常响应的里,用 Status 字段表示, 使用简单结构,如下表所示:

名称 类型 描述

Message

String

描述

Code

Integer

错误码

用JSON表示响应的 Status 示例,参考如下:

{
  "Status": {
    "Message": "resource not found",
    "Code": 10000003
  }
}

错误码

我们将常见的错误码提取出来,作为公用部分,可应用到所有API里。

相对应的,每个服务自身特有的错误码是私有的。它将在具体服务章节里体现。

以下是所有公用部分错误码,供参考:

Code 描述

0

成功

10000000

客户端指定了无效的参数,请参考错误描述获取详情。

10000001

客户端无权执行操作。

10000002

客户端期望创建的资源已经存在,一般是指重复请求了。

10000003

客户端指定的操作资源无法找到,比如请求了一个不存在OrderID。

50000000

未知服务端错误,常见于bug。

50000001

服务端内部处理出错,常见于bug。

50000002

服务端内部处理超时,并不表示客户端可以重试。

50000003

服务端处理出错,明确告之客户端可以重试。重试的次数与间隔可参考错误描述。