Depuração de uma API
Função
Esta API é usada para depurar a definição de uma API em um ambiente especificado. O chamador da API deve ter as permissões necessárias para operar esta API.
URI
A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.
| Método de solicitação | URI |
|---|---|
| POST | /v1.0/apigw/apis/debug/{api_id} |
A tabela a seguir lista o parâmetro no URI.
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| api_id | Sim | String | ID da API |
Solicitação
| Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
| scheme | Sim | String | Protocolo de solicitação, que pode ser:
|
| method | Sim | String | Método de solicitação, que pode ser:
|
| domain | Não | String | Acesse o nome de domínio da API. Se nenhum valor for especificado, um dos seguintes valores padrão será usado com base na configuração de mode:
|
| path | Sim | String | Caminho de solicitação da API, começando com uma barra (/) e com até 1024 caracteres NOTA: O caminho da solicitação deve atender aos requisitos do caminho para que possa ser decodificado corretamente após a codificação de porcentagem. |
| query | Não | Dicionário | Parâmetros de consulta, com cada valor sendo uma matriz de cadeia de caracteres. Cada nome de parâmetro deve atender aos seguintes requisitos:
|
| header | Não | Dicionário | Parâmetros de cabeçalho, com cada valor sendo uma matriz de cadeia de caracteres. Cada nome de parâmetro deve atender aos seguintes requisitos:
NOTA: Cada nome de cabeçalho é normalizado antes do uso. Por exemplo, x-MY-hEaDer é normalizado como X-My-Header. |
| body | Não | String | Corpo da mensagem, com um comprimento máximo de bytes de 2.097.152. |
| mode | Sim | String | Modo de depuração, que pode ser:
|
| app_key | Não | String | AppKey usado na solicitação de depuração |
| app_secret | Não | String | AppSecret usado na solicitação de depuração |
| stage | Não | String | Ambiente em execução especificado na solicitação de depuração. Este parâmetro só é válido quando mode está definido como CONSUMER. Se nenhum valor for especificado, RELEASE será usado. |
Exemplo de solicitação:
{
"mode": "DEVELOPER",
"scheme": "HTTPS",
"method": "GET",
"path": "/test",
"query": {
"city": [
"city01",
"city02"
]
},
"header": {
"X-My-City": [
"city01",
"city02"
]
}
} Resposta
| Parâmetro | Tipo | Descrição |
|---|---|---|
| request | String | Corpo da solicitação de depuração |
| response | String | Corpo da resposta de depuração, com um comprimento máximo de bytes de 2.097.152. Qualquer conteúdo além desse limite será truncado. NOTA: Qualquer conteúdo além do limite de comprimento será truncado e o texto [TRUNCATED] será adicionado ao corpo da resposta. |
| latency | String | Duração da depuração em milissegundos |
| log | String | Depuração de logs |
Exemplo de resposta:
{
"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": ""
} Códigos de status
| Código de status | Descrição |
|---|---|
| 200 | OK |
| 400 | Solicitação inválida |
| 401 | Não autorizado |
| 403 | Proibido |
| 404 | Não encontrado |
| 500 | Erro interno do servidor |