合作伙伴工作台
注册

API异常排查

问题排查流程

1)排查说明

如果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请求尚未产生响应报文,一般是请求尚未发出,请检查应用请求是否确实提交。

除了上述办法,您还可以通过在线调试的方法来定位问题所在,以批量查询产品信息为例,如图所示,在找到对应API后,点击“调试”进入在线调试界面。

进入在线调试界面后,您可以输入相关参数并点击提交请求按钮,右侧即为请求信息以及响应信息,可以帮助您定位相关问题。

2)错误码

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字段,则为后端服务返回的错误信息,用户需要根据提示选择相应的处理方法。


这篇文档是否帮助您解决了问题?
如果您愿意进一步帮助我们改进文档 ,请留下您的联系方式。