Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2025-12-22 GMT+08:00

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}

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

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

String

ID de gateway, que se puede obtener de la información de gateway en la consola de APIG.

api_id

String

ID de API.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

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.

Tabla 3 Parámetros del cuerpo de solicitud

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:

  • Contiene letras, dígitos, puntos (.) o guiones (-).

  • Comienza con una letra, con un máximo de 32 bytes.

  • Insensible a mayúsculas y minúsculas y no puede comenzar con X-Apig- o X-Sdk-.

  • Insensible a mayúsculas y minúsculas y no puede ser X-Stage.

  • Insensible a mayúsculas y minúsculas y no puede ser X-Auth-Token o Autorización cuando el modo se establece en MARKET o CONSUMER.

NOTA:

Cada nombre de encabezado se normaliza antes de su uso. Por ejemplo, x-MY-hEaDer se normaliza como X-My-Header.

method

String

Método de solicitud de API.

mode

String

Modo de depuración:

  • DEVELOPER: Depura las definiciones de una API que no se ha publicado.

  • CONSUMER: Depurar las definiciones de una API que se ha publicado en un entorno específico.

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

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:

  • Contiene letras, dígitos, puntos (.), guiones (-) o guiones bajos (_).

  • Comienza con una letra, con un máximo de 32 bytes.

  • Insensible a mayúsculas y minúsculas y no puede comenzar con X-Apig- o X-Sdk-.

  • Insensible a mayúsculas y minúsculas y no puede ser X-Stage.

scheme

String

Protocolo de solicitud.

  • HTTP

  • HTTPS

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:

  • DEVELOPER: Se usará el nombre de subdominio del grupo de API.

  • MARKET: Este parámetro no se utiliza actualmente.

  • CONSUMER: Se usará el nombre de subdominio del grupo API.

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:

  • CONSUMER RELEASE

Parámetros de respuesta

Código de estado: 200

Tabla 4 Parámetros del cuerpo de respuesta

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

Tabla 5 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 401

Tabla 6 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 403

Tabla 7 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 404

Tabla 8 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 500

Tabla 9 Parámetros del cuerpo de respuesta

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.