文档目录
从这里开始
REST API参考
索引和搜索API错误码错误代码HTTP状态码如何处理错误

请求错误信息


在使用卡拉搜索API时,如果请求格式不对,或者对应的请求参数不全,服务器会返回错误消息以方便锁定和解决问题。这里列出常见的错误信息和其对应含义

错误代码


API在返回错误时,会返回一个JSON,其中包含codemessage,如下例所示

{
"message": "appId/apiKey does not match",
"code": "AUTHENTICATION_ERROR"
}

在这里code即错误代码,而message则是更详细的错误原因说明。

常见的错误代码及其对应原因如下

错误代码含义
AUTHENTICATION_ERROR鉴权错误,通常是app id或api key错误,或对应的header名错误
ACCOUNT_NOT_FOUND请求的帐号不存在
APP_NOT_FOUND请求的APP不存在
INDEX_NOT_FOUND请求的Index不存在
INPUT_NOT_VALID请求所附加的参数不正确,比如提供的JSON格式错误等
INTERNAL_SERVER_ERROR服务器内部错误或未知错误,请联系我们

HTTP状态码


在卡拉搜索中,对每个请求,我们会返回合理语义的HTTP状态码。

比如说,如果登录时,用户名和密码不匹配,那我们会返回403 Forbidden。常见的状态码为:

HTTP状态码说明
200请求成功并成功返回
404索引不存在,请检查indexId参数
400JSON文档格式不正确,请用json检查器检查格式

如何处理错误


如果你使用的是卡拉搜索的RESTful API的话,判断是否请求成功,可以用下面的伪代码

if(httpStatus >= 200 && httpStatus < 300) {
// HTTP状态2xx代表成功
}
if(httpStatus >= 400 && httpStatus <= 599) {
// HTTP状态4xx或5xx代表请求失败
}

请注意,这里使用的是标准的HTTP状态码来判断。通常来说,4xx的HTTP状态代表你的请求格式有问题,或参数不对,此时你应该检查参数,确保请求正确。

而如果出现5xx的请求,比如503,则有可能是卡拉的服务状态不稳定。这种情况出现非常少,如果有碰到的话,请联系我们。

© 2020, 卡拉搜索, Built with ❤️ in San Francisco + Beijing

京ICP备15049164号-3