Depuração de uma API
Função
Esta API é usada para depurar uma API em um ambiente especificado. O chamador da API deve ter as permissões necessárias para acessar essa API.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id}
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
project_id |
Sim |
String |
ID do projeto. Para obter detalhes sobre como obter um ID de projeto, consulte "Apêndice" > "Obtenção de um ID de projeto" neste documento. |
instance_id |
Sim |
String |
ID do gateway, que pode ser obtido a partir das informações de gateway no console do APIG. |
api_id |
Sim |
String |
ID da API. |
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
X-Auth-Token |
Sim |
String |
Token do usuário. Ele pode ser obtido chamando a API do IAM usada para obter um token de usuário. O valor de X-Subject-Token no cabeçalho da resposta é um token. |
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
body |
Não |
String |
Corpo da mensagem, com no máximo 2.097.152 bytes. |
header |
Não |
Map<String,String> |
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. |
method |
Sim |
String |
Método de solicitação da API. Valores de enumeração:
|
mode |
Sim |
String |
Modo de depuração:
NOTA:
No modo DEVELOPER, o chamador da API deve ser o provedor da API. No modo CONSUMER, o chamador da API deve ser o provedor da API ou ter sido autorizado a acessar a API em um ambiente específico. |
path |
Sim |
String |
Caminho da solicitação da API, começando com uma barra (/) e contendo até 1.024 caracteres.
NOTA:
O caminho da solicitação deve atender aos requisitos para que possa ser decodificado corretamente após a codificação de porcentagem. |
query |
Não |
Map<String,String> |
Cadeias de consulta, com cada valor sendo uma matriz de cadeia de caracteres. Cada nome de parâmetro deve atender aos seguintes requisitos:
|
scheme |
Sim |
String |
Protocolo de solicitação.
|
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. |
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 no modo:
|
stage |
Não |
String |
Ambiente de execução especificado pela solicitação de depuração. Este parâmetro é válido somente quando o modo estiver definido como CONSUMER. Se esse parâmetro não for especificado, o seguinte valor padrão será usado:
|
Parâmetros de resposta
Código de status: 200
Parâmetro |
Tipo |
Descrição |
---|---|---|
request |
String |
Corpo da solicitação de depuração. |
response |
String |
Corpo da resposta de depuração, com no máximo 2.097.152 bytes. 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 |
Integer |
Duração da depuração em milissegundos. |
log |
String |
Depuração de logs. |
Código de status: 400
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 401
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 403
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 404
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Código de status: 500
Parâmetro |
Tipo |
Descrição |
---|---|---|
error_code |
String |
Código de erro. |
error_msg |
String |
Mensagem de erro. |
Exemplo de solicitações
{ "mode" : "DEVELOPER", "scheme" : "HTTPS", "method" : "GET", "path" : "/test/mock" }
Exemplo de respostas
Código de status: 200
OK
{ "request" : "GET /test/mock HTTP/1.1\r\nHost: c77f5e81d9cb4424bf704ef2b0ac7600.apic.****.com\r\nUser-Agent: APIGatewayDebugClient/1.0\r\nX-Apig-Mode: debug\r\n\r\n", "response" : "HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\nConnection: keep-alive\r\nContent-Type: application/json\r\nDate: Mon, 03 Aug 2020 02:51:22 GMT\r\nServer: api-gateway\r\nX-Apig-Latency: 0\r\nX-Apig-Ratelimit-Api: remain:99,limit:100,time:1 minute\r\nX-Apig-Ratelimit-Api-Allenv: remain:14999,limit:15000,time:1 second\r\nX-Request-Id: d4ec6e33148bdeffe8f55b43472d1251\r\n\r\nmock success", "latency" : 5, "log" : "" }
Código de status: 400
Solicitação inválida
{ "error_code" : "APIG.2011", "error_msg" : "Invalid parameter value,parameterName:mode. Please refer to the support documentation" }
Código de status: 401
Não autorizado
{ "error_code" : "APIG.1002", "error_msg" : "Incorrect token or token resolution failed" }
Código de status: 403
Proibido
{ "error_code" : "APIG.1005", "error_msg" : "No permissions to request this method" }
Código de status: 404
Não encontrado
{ "error_code" : "APIG.3002", "error_msg" : "API 3a955b791bd24b1c9cd94c745f8d1aad does not exist" }
Código de status: 500
Erro do servidor interno
{ "error_code" : "APIG.9999", "error_msg" : "System error" }
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 do servidor interno |
Códigos de erro
Consulte Códigos de erro.