API异常排查

1. 问题排查流程

2. 排查说明

如果API调用出现用户调用异常或者系统异常,则API网关会终止请求后端服务,并在响应API的请求时将错误原因写到header的x-ag-message字段中,因此x-ag-message字段是一个判断请求是否已经到达了后端服务的标志。

SDK应用故障排查与普通API的故障排查一样,都是通过HTTP请求的响应报文头的x-ag-message字段结合HTTP响应状态码来分析故障原因的。要从SDK应用的API请求中获得响应状态码,可以通过BaseApiResponse.getStatusCode()函数获取;要从SDK应用的API请求中获取响应报文头,可以通过BaseApiResponse.getHeaders()函数获取;如果API请求尚未产生响应报文,一般是请求尚未发出,请检查应用请求是否确实提交。

3. 错误码

API网关错误码沿用HTTP状态码方案,并在返回信息的x-ag-message中返回具体异常信息。API网关使用的错误码主要包括以下几种:

错误码 错误类型描述 错误类型说明
400 Bad request 主要为用户输入数据不完整或者格式不正确错误
401 Unauthorized 权限(签名、API权限)校验不通过
403 Forbidden 请求禁止(流量超标、重复请求、过时的请求)
404 Not found 请求的资源(如API版本等)不存在
500 Internal Error 未预料到的程序异常,联系API网关开发者解决
503 Service Unavailable 系统不可用,联系API网关运营管理人员解决
504 Async Service 后端服务访问超时,可以尝试重试

其余错误情况,若返回header中不存在x-ag-message字段,则为后端服务返回的错误信息,用户需要根据提示选择相应的处理方法。

搜索结果 ""

    没有搜索结果 ""