请求返回格式
更新时间:2021-05-21
公共错误返回格式
当用户访问API出现错误时,会返回给用户相应的错误码和错误信息,便于定位问题,并做出适当的处理。公共错误返回格式如下:
参数名 | 类型 | 说明 |
---|---|---|
code | String | 表示具体错误类型 |
message | String | 有关该错误的详细说明 |
requestId | String | 本次请求的requestId |
统一为如下格式(后续各接口不再单独列出):
{
"success": false,
"code":"NoSuchKey",
"message": "{"global": "error msg."}"
}
其中,“code”为错误码,所有错误码取值来源BCE公共错误码。
公共错误码
下表列出了百度智能云API的公共错误码。
错误码 | 错误消息 | HTTP状态码 | 描述 |
---|---|---|---|
AccessDenied | Access denied. | 403Forbidden | 无权限访问对应的资源。 |
InappropriateJSON | The JSON you provided was well-formed and valid, but not appropriate forthis operation. | 400 Bad Request | 请求中的JSON格式正确,但语义上不符合要求。如缺少某个必需项,或值类型不匹配等。出于兼容性考虑,对于所有无法识别的项应直接忽略,不应该返回这个错误。 |
InternalError | We encountered an internal error Please try again. | 500 Internal Server Error | 所有未定义的其他错误。在有明确对应的其他类型的错误时(包括通用的和服务自定义的)不应该使用。 |
InvalidAccessKeyId | The Access Key ID you provided doesnot exist in our records. | 403Forbidden | Access Key ID不存在。 |
InvalidHTTPAuthHeader | The Access Key ID you provided does notexist in our records. | 400 BadRequest | Authorization头域格式错误。 |
InvalidHTTPRequest | There was an error in the body of your HTTP request. | 400 Bad Request | HTTP body格式错误。例如不符合指定的Encoding等。 |
InvalidURI | Could not parse the specified URI. | 400 Bad Request | URI形式不正确。例如一些服务定义的关键词不匹配等。对于ID不匹配的问题,应定义更加具体的错误码,如NoSuchKey。 |
MalformedJSON | The JSON you provided was not well-formed. | 400 BadRequest | JSON格式不合法。 |
InvalidVersion | The API version specified was invalid. | 404 NotFound | URI的版本号不合法。 |
OptInRequired | A subscription for the service is required. | 403Forbidden | 没有开通对应的服务。 |
PreconditionFailed | The specified If-Match header doesn’tmatch the ETag header. | 412PreconditionFailed | 详见Etag。 |
RequestExpired | Request has expired. Timestamp date is <Data>. | 400 BadRequest | 请求超时。要改成x-bce-date。若请求中只有Date,需将Date转成datetime。 |
IdempotentParameterMismatch | The request uses the same client token asa previous, but non-identical request. | 403Forbidden | clientToken对应的API参数不一样。 |
SignatureDoesNotMatch | The request signature we calculated does not match the signature you provided. Check yourSecret Access Key and signing method. Consultthe service documentation for details. | 400 Bad Request | Authorization头域中附带的签名和服务端验证不一致。 |
BSC返回格式
当用户访问BSC API时,会返回给用户相应的状态码、详细信息及执行结果,便于用户做出适当的处理。BSC返回格式如下:
参数名 | 类型 | 说明 |
---|---|---|
status | Int | 状态码 |
success | Boolean | 是否成功 |
message | Json | 错误信息 |
result | Json | 执行结果 |
除list接口外,统一为如下格式:
{
"status": 200,
"success": true,
"result": JSON Object
}
其中,所有状态码均为200,以success来标志是否成功,如果success返回false,请求失败,message中为:{"global": "error msg."},result为具体返回数据,JSON格式。后续接口不再单独列出。
list接口统一为如下格式:
{
"status": 200,
"success": true,
"pageNo": 2,
"pageSize": 10,
"totalCount": 3,
"result": List of JSON objects
}
其中,所有状态码取值来源于BSC状态码,items为具体返回数据,JSON格式的对象数组。后续接口不再单独列出。