更新时间:2023-01-05 GMT+08:00
分享

调试API

功能介绍

调试一个API在指定运行环境下的定义,接口调用者需要具有操作该API的权限。

URI

HTTP/HTTPS请求方法以及URI如下表所示。

表1 HTTP/HTTPS请求方法以及URI

请求方法

URI

POST

/v1/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id}

URI中的参数说明如下表所示。

表2 参数说明

名称

是否必选

类型

说明

project_id

String

项目ID。可从控制台“我的凭证”中获取region下项目ID,管理员权限可查询。

instance_id

String

实例ID,可从API网关控制台的专享版实例信息中获取。

api_id

String

API的编号

请求消息

表3 参数说明

名称

是否必选

类型

说明

scheme

String

API的请求协议

  • HTTP
  • HTTPS

method

String

API的请求方法

  • GET
  • POST
  • PUT
  • DELETE
  • HEAD
  • PATCH
  • OPTIONS

domain

String

API的访问域名,未提供时根据mode的取值使用如下默认值:

  • DEVELOPER API分组的子域名
  • MARKET 云商店为API分组分配的域名
  • CONSUMER API分组的子域名

path

String

API的请求路径,需以"/"开头,最大长度1024

说明:

须符合路径规范,百分号编码格式可被正确解码

query

字典数据类型

查询参数,每个参数值为字符串数组,每个参数名称有如下约束:

  • 英文字母、数字、点、下划线、中连线组成
  • 必须以英文字母开头,最长32字节
  • 不支持以"X-Apig-"或"X-Sdk-"开头,不区分大小写
  • 不支持取值为"X-Stage",不区分大小写

header

字典数据类型

头域参数,每个参数值为字符串数组,每个参数名称有如下约束:

  • 英文字母、数字、点、中连线组成
  • 必须以英文字母开头,最长32字节
  • 不支持以"X-Apig-"或"X-Sdk-"开头,不区分大小写
  • 不支持取值为"X-Stage",不区分大小写
  • mode为MARKET或CONSUMER时,不支持取值为"X-Auth-Token"和"Authorization",不区分大小写
说明:

头域名称在使用前会被规范化,如:"x-MY-hEaDer"会被规范化为"X-My-Header"

body

String

请求消息体,最长2097152字节

mode

String

调试模式

  • DEVELOPER 调试尚未发布的API定义
  • MARKET 调试云商店已购买的API
  • CONSUMER 调试指定运行环境下的API定义
    说明:

    DEVELOPER模式,接口调用者必须是API拥有者。

    MARKET模式,接口调用者必须是API购买者或拥有者。

    CONSUMER模式,接口调用者必须有API在指定环境上的授权信息或是API拥有者。

app_key

String

调试请求使用的APP的key

app_secret

String

调试请求使用的APP的密钥

stage

String

调试请求指定的运行环境,仅在mode为CONSUMER时有效,未提供时有如下默认值:

  • CONSUMER RELEASE

请求消息样例:

{
  "mode": "DEVELOPER",
  "scheme": "HTTPS",
  "method": "GET",
  "path": "/test",
  "query": {
    "city": [
      "city01",
      "city02"
    ]
  },
  "header": {
    "X-My-City": [
      "city01",
      "city02"
    ]
  }
}

响应消息

表4 参数说明

参数

类型

说明

request

String

调试请求报文内容

response

String

调试响应报文内容,响应消息体最大支持2097152字节,超过部分会被截断

说明:

响应消息体超过限制长度时,超过部分会被截断,并追加"[TRUNCATED]"信息。

latency

String

调试耗时,单位:毫秒

log

String

调试过程日志

响应消息样例:

{
  "request": "GET /test?city=city01&city=city02 HTTP/1.1\r\nHost: edf94892b11d440795562cb81c5be059.apigw.example.com\r\nUser-Agent: APIGatewayDebugClient/1.0\r\nX-Apig-Mode: debug\r\nX-My-City: city01\r\nX-My-City: city02\r\n\r\n",
  "response": "HTTP/1.1 200 OK\r\nContent-Length: 33\r\nConnection: keep-alive\r\nContent-Type: application/json; charset=utf-8\r\nDate: Fri, 24 Aug 2018 10:36:47 GMT\r\nServer: api-gateway\r\nX-Apig-Latency: 13\r\nX-Apig-Ratelimit-Api: remain:92,limit:100,time:1 minute\r\nX-Apig-Ratelimit-Api-Allenv: remain:9,limit:10,time:1 second\r\nX-Apig-Upstream-Latency: 1\r\nX-Request-Id: 12f69943cc2fa4f8a3674ee947655339\r\n\r\n{\"version\":\"4.0.12.201808190004\"}",
  "latency": "12",
  "log": ""
}

状态码

表5 返回消息说明

状态码

说明

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

相关文档