合作伙伴工作台
注册

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版本等)不存在

  430

  Forbidden

  请求禁止(流量超标、请求熔断)

500

Internal Error

未预料到的程序异常,联系API网关开发者解决

503

Service Unavailable

系统不可用,联系API网关运营管理人员解决

504

Async Service

后端服务访问超时,可以尝试重试

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


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