调试API
功能介绍
调试一个API在指定运行环境下的定义,接口调用者需要具有操作该API的权限。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID,在API网关控制台的“实例信息”中获取。 |
api_id |
是 |
String |
API的编号 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
body |
否 |
String |
请求消息体,最长2097152字节 |
header |
否 |
Map<String,Array<String>> |
头域参数,每个参数值为字符串数组,每个参数名称有如下约束:
说明:
头域名称在使用前会被规范化,如:"x-MY-hEaDer"会被规范化为"X-My-Header" |
method |
是 |
String |
API的请求方法 |
mode |
是 |
String |
调试模式
说明:
DEVELOPER模式,接口调用者必须是API拥有者。 MARKET模式,接口调用者必须是API购买者或拥有者。 CONSUMER模式,接口调用者必须有API在指定环境上的授权信息或是API拥有者。 |
path |
是 |
String |
API的请求路径,需以"/"开头,最大长度1024
说明:
须符合路径规范,百分号编码格式可被正确解码 |
query |
否 |
Map<String,Array<String>> |
查询参数,每个参数值为字符串数组,每个参数名称有如下约束:
|
scheme |
是 |
String |
API的请求协议
|
app_key |
否 |
String |
调试请求使用的APP的key |
app_secret |
否 |
String |
调试请求使用的APP的密钥 |
domain |
否 |
String |
API的访问域名,如果使用自定义入方向端口的特性时,需要带上端口信息,用冒号分隔,例如test.com:8080。 API的访问域名未提供时根据mode的取值使用如下默认值:
|
stage |
否 |
String |
调试请求指定的运行环境,仅在mode为CONSUMER时有效,未提供时有如下默认值:
|
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
request |
String |
调试请求报文内容 |
response |
String |
调试响应报文内容,响应消息体最大支持2097152字节,超过部分会被截断
说明:
响应消息体超过限制长度时,超过部分会被截断,并追加"[TRUNCATED]"信息。 |
latency |
Integer |
调试耗时,单位:毫秒 |
log |
String |
调试过程日志 |
状态码: 400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 403
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
状态码: 500
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误描述 |
请求示例
对API进行调试
{ "mode" : "DEVELOPER", "scheme" : "HTTPS", "method" : "GET", "path" : "/test/mock" }
响应示例
状态码: 200
OK
{ "request" : "GET /test/mock HTTP/1.1\nHost: c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com\nUser-Agent: APIGatewayDebugClient/1.0\nX-Apig-Mode: debug\n\n", "response" : "HTTP/1.1 200 OK\nTransfer-Encoding: chunked\nConnection: keep-alive\nContent-Type: application/json\nDate: Mon, 03 Aug 2020 02:51:22 GMT\nServer: api-gateway\nX-Apig-Latency: 0\nX-Apig-Ratelimit-Api: remain:99,limit:100,time:1 minute\nX-Apig-Ratelimit-Api-Allenv: remain:14999,limit:15000,time:1 second\nX-Request-Id: d4ec6e33148bdeffe8f55b43472d1251\n\nmock success", "latency" : 5, "log" : "" }
状态码: 400
Bad Request
{ "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:mode. Please refer to the support documentation" }
状态码: 401
Unauthorized
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
状态码: 403
Forbidden
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
状态码: 404
Not Found
{ "error_code" : "APIG.3002", "error_msg" : "API 3a955b791bd24b1c9cd94c745f8d1aad does not exist" }
状态码: 500
Internal Server Error
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
400 |
Bad Request |
401 |
Unauthorized |
403 |
Forbidden |
404 |
Not Found |
500 |
Internal Server Error |
错误码
请参见错误码。