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 2023-03-29 GMT+08:00

Depuración de una API

Función

Esta API se utiliza para depurar la definición de una API en un entorno específico. El invocador de la API debe tener los permisos necesarios para operar esta API.

URI

La siguiente tabla muestra el método de solicitud HTTP/HTTPS y el URI de la API.

Tabla 1 Método de solicitud de HTTP/HTTPS y URI

Método de solicitud

URI

POST

/v1.0/apigw/apis/debug/{api_id}

En la siguiente tabla se muestra el parámetro en el URI.

Tabla 2 Descripción de parámetro

Parámetro

Obligatorio

Tipo

Descripción

api_id

String

ID de API

Solicitud

Tabla 3 Descripción de parámetro

Parámetro

Obligatorio

Tipo

Descripción

scheme

String

Protocolo de solicitud, que puede ser:

  • HTTP
  • HTTPS

method

String

Método de solicitud, que puede ser:

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

domain

No

String

Nombre de dominio de acceso de la API. Si no se especifica ningún valor, se usará uno de los siguientes valores predeterminados según la configuración de mode:

  • Para DEVELOPER se usará el nombre de subdominio del grupo API.
  • Para MARKET se usará el nombre de dominio del grupo API asignado por KooGallery.
  • Para CONSUMER se usará el nombre de subdominio del grupo de API.

path

String

Ruta de solicitud de la API, comenzando con una barra diagonal (/) y con hasta 1024 caracteres

NOTA:

La ruta de solicitud debe cumplir con los requisitos de ruta para que pueda decodificarse correctamente después de la codificación porcentual.

query

No

Dictionary

Parámetros 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 una longitud máxima de 32 bytes.
  • Insensible a mayúsculas y minúsculas y no comienza con X-Apig- o X-Sdk-.
  • Insensible a mayúsculas y minúsculas y no puede ser X-Stage.

header

No

Dictionary

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 (.), y guiones (-).
  • Comienza con una letra, con una longitud máxima de 32 bytes.
  • Insensible a mayúsculas y minúsculas y no comienza 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 ni Authorization cuando mode está establecido en MARKET o CONSUMER.
NOTA:

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

body

No

String

Cuerpo del mensaje, con una longitud máxima de 2,097,152 bytes.

mode

String

Modo de depuración, que puede ser:

  • DEVELOPER: depura la definición de una API que no se ha publicado.
  • MARKET: depura la definición de una API comprada en KooGallery.
  • CONSUMER: depura la definición de una API que se ha publicado en un entorno específico.
    NOTA:

    En modo DEVELOPER, el invocador de la API debe ser el propietario de la API.

    En modo MARKET, la persona que invoca a la API debe ser el comprador o el propietario de la API.

    En modo CONSUMER, la persona que invoca a la API debe ser el propietario de la API o ha autorizado su acceso a las aplicaciones en el entorno especificado.

app_key

No

String

AppKey utilizado en la solicitud de depuración

app_secret

No

String

AppSecret utilizado en la solicitud de depuración

stage

No

String

Entorno de ejecución especificado en la solicitud de depuración. Este parámetro solo es válido cuando mode está establecido en CONSUMER. Si no se especifica ningún valor, se utiliza RELEASE.

Ejemplo de solicitud:

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

Respuesta

Tabla 4 Descripción de parámetro

Parámetro

Tipo

Descripción

request

String

Cuerpo de la solicitud de depuración

response

String

Cuerpo de la respuesta de depuración, con una longitud máxima 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 se agregará [TRUNCATED] de texto al cuerpo de la respuesta.

latency

String

Duración de la depuración en milisegundos

log

String

Registros de depuración

Ejemplo de respuesta:

{
  "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 estado

Tabla 5 Códigos de estado

Código de estado

Descripción

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error