Depuración de una API
Función
Esta API se utiliza para depurar una API en un entorno especificado. El invocador de la API debe tener los permisos necesarios para acceder a esta API.
Método de invocación
Para obtener más información, véase invocación de API.
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/apis/debug/{api_id}
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
project_id |
Sí |
String |
ID del proyecto. Para obtener más información sobre cómo obtenerlo, véase Obtención de un ID de proyecto. |
|
instance_id |
Sí |
String |
ID de gateway, que se puede obtener de la información de gateway en la consola de APIG. |
|
api_id |
Sí |
String |
ID de API. |
Parámetros de solicitud
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
X-Auth-Token |
Sí |
String |
Token de usuario. Se puede obtener invocando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token. |
|
Parámetro |
Obligatorio |
Tipo |
Descripción |
|---|---|---|---|
|
body |
No |
String |
Cuerpo del mensaje, con un máximo de 2,097,152 bytes. |
|
header |
No |
Map<String,Array<String>> |
Parámetros de encabezado, siendo cada valor una matriz de cadenas de caracteres. Cada nombre de parámetro debe cumplir los siguientes requisitos:
NOTA:
Cada nombre de encabezado se normaliza antes de su uso. Por ejemplo, x-MY-hEaDer se normaliza como X-My-Header. |
|
method |
Sí |
String |
Método de solicitud de API. |
|
mode |
Sí |
String |
Modo de depuración:
NOTA:
En el modo DEVELOPER, el invocador de la API debe ser el proveedor de la API. En el modo CONSUMER, el invocador de la API debe ser el proveedor de la API o ha sido autorizado para acceder a la API en un entorno específico. |
|
path |
Sí |
String |
Ruta de solicitud de la API, comenzando con una barra diagonal (/) y que contiene hasta 1024 caracteres.
NOTA:
La ruta de solicitud debe cumplir los requisitos para que pueda decodificarse correctamente después de la codificación porcentual. |
|
query |
No |
Map<String,Array<String>> |
Cadenas de consulta, siendo cada valor una matriz de cadenas de caracteres. Cada nombre de parámetro debe cumplir los siguientes requisitos:
|
|
scheme |
Sí |
String |
Protocolo de solicitud.
|
|
app_key |
No |
String |
AppKey utilizado en la solicitud de depuración. |
|
app_secret |
No |
String |
AppSecret utilizado en la solicitud de depuración. |
|
domain |
No |
String |
Nombre de dominio de acceso de la API. Para gateways con puertos de entrada personalizados, la información del puerto debe estar contenida y separada por dos puntos (:), por ejemplo, test.com:8080. Si no se especifica ningún valor, se utilizará uno de los siguientes valores predeterminados según el modo:
|
|
stage |
No |
String |
Entorno de ejecución especificado por la solicitud de depuración. Este parámetro solo es válido cuando el modo se establece en CONSUMER. Si no se especifica este parámetro, se utiliza el siguiente valor predeterminado:
|
Parámetros de respuesta
Código de estado: 200
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
request |
String |
Cuerpo de la solicitud de depuración. |
|
response |
String |
Cuerpo de la respuesta de depuración, con un máximo de 2,097,152 bytes. Cualquier contenido que supere este umbral se truncará.
NOTA:
Cualquier contenido que supere el límite de longitud se truncará y el texto [TRUNCATED] se añadirá al cuerpo de la respuesta. |
|
latency |
Integer |
Duración de la depuración en milisegundos. |
|
log |
String |
Logs de depuración. |
Código de estado: 400
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 401
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 403
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 404
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Código de estado: 500
|
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
error_code |
String |
Código de error. |
|
error_msg |
String |
Mensaje de error. |
Ejemplo de las solicitudes
Depuración de una API
{
"mode" : "DEVELOPER",
"scheme" : "HTTPS",
"method" : "GET",
"path" : "/test/mock"
}
Ejemplo de respuestas
Código de estado: 200
Aceptar
{
"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" : ""
}
Código de estado: 400
Error en la solicitud
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:mode. Please refer to the support documentation"
}
Código de estado: 401
Sin autorización
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
}
Código de estado: 403
Prohibido
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
}
Código de estado: 404
No se ha encontrado
{
"error_code" : "APIG.3002",
"error_msg" : "API 3a955b791bd24b1c9cd94c745f8d1aad does not exist"
}
Código de estado: 500
Error del servidor interno
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
}
Códigos de estado
|
Código de estado |
Descripción |
|---|---|
|
200 |
Aceptar |
|
400 |
Error en la solicitud |
|
401 |
Sin autorización |
|
403 |
Prohibido |
|
404 |
No se ha encontrado |
|
500 |
Error del servidor interno |
Códigos de error
Consulte Códigos de error.