错误编码
接口响应以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 | 服务器内部错误 |