错误编码
接口响应以HTTP 标准状态码+系统业务编码进行响应,具体如下:
1、当接口响应错误异常码时,Status字段会以JSON的内容进行响应,例如:
2、当接口无系统异常情况时,内部的业务处理异常,那么请参考业务编码,响应业务编码状态下,HTTP状态码为200
{
"code": 401, // 业务错误编码
"message": "AccessDenied",
"data": null
}
HTTP状态码
在部分的业务场景下,服务端接口会同时享有HTTP状态码,非200的状态码需要开发人员关注
错误编码明细如下表所示:
| HTTP状态吗 | 状态 | (错误)原因 |
|---|---|---|
| 200 | SUCCESS | 成功 |
| 401 | AccessDenied | 请求中的 ApiKey 错误,鉴权失败 |
| 400 | InvalidParameter | 请求参数非法,格式不符合要求 |
| 413 | RequestTooLarge | 接入层网关返回请求体过大错误,错误如果是由mse网关层直接拦截,则没有 code,并且 message 不能自定义。如果是restful网关拦截返回code。 |
| 429 | RateQuotaLimit | 触发平台限流措施 |
| 429 | InsufficientAccountBalance | 账户余额不足 |
| 500 | InternalError | 系统内部异常,请稍后再试 |
业务编码
HTTP状态码为200的情况下,同时判断code编码为8200,则表示都成功
在系统业务处理的过程中,对于正常200状态码,也可能会出现业务处理异常的情况,此时,会在响应的结果code编码中,会响应不同的业务编码
业务编码定义如下:
| 业务编码 | 状态 | (错误)原因 |
|---|---|---|
| 8200 | SUCCESS | 成功 |
| 8401 | METHOD_NOT_ALLOWED | 不允许的操作 |
| 8402 | REQUEST_PARAMS_NOT_VALID | 请求参数非法 |
| 8403 | AUTHENTICATION_FAILED | 权限校验错误 |
| 8404 | NOT_FOUND_RESOURCE | 没有找到资源 |
| 8405 | DATA_REQUIRED_NOT_FOUNT | 请求数据不存在 |
| 8409 | DATA_REQUIRED_ERROR | 请求数据错误 |
| 8406 | REQUEST_TIME_EXPIRES_TIMEOUT | 请求已超时 |
| 8407 | REQUEST_INVALID | 请求非法 |
| 8408 | REQUEST_EXPIRED | 请求token过期 |
| 8410 | DUPLICATION_OPERATION | 重复操作 |
| 8407 | CAN_NOT_DELETE | 不允许删除 |
| 8302 | NOT_LOGIN | 未登录 |
| 8500 | INTERNAL_SERVER_ERROR | 服务器内部错误 |