调试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拥有者。 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的访问域名,未提供时根据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  | 
     
错误码
请参见错误码。