Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-05-29 GMT+08:00

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}

Tabela 1 Parâmetros de caminho

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

Tabela 2 Parâmetros do cabeçalho 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.

Tabela 3 Parâmetros de corpo de solicitação

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:

  • Contém letras, dígitos, pontos (.) ou hifens (-).

  • Começa com uma letra, com no máximo 32 bytes.

  • Não diferencia maiúsculas de minúsculas e não pode iniciar com X-Apig- ou X-Sdk-.

  • Não diferencia maiúsculas de minúsculas e não pode ser X-Stage.

  • Não diferencia maiúsculas de minúsculas e não pode ser X-Auth-Token ou Authorization quando o modo é definido como MARKET ou CONSUMER.

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:

  • GET

  • POST

  • PUT

  • DELETE

  • HEAD

  • PATCH

  • OPTIONS

mode

Sim

String

Modo de depuração:

  • DEVELOPER: depurar as definições de uma API que não foi publicada.

  • CONSUMER: depurar as definições de uma API que foi publicada em um ambiente especificado.

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:

  • Contém letras, dígitos, pontos (.), hifens (-) ou sublinhados (_).

  • Começa com uma letra, com no máximo 32 bytes.

  • Não diferencia maiúsculas de minúsculas e não pode iniciar com X-Apig- ou X-Sdk-.

  • Não diferencia maiúsculas de minúsculas e não pode ser X-Stage.

scheme

Sim

String

Protocolo de solicitação.

  • HTTP

  • HTTPS

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:

  • DEVELOPER: o nome do subdomínio do grupo de APIs será usado.

  • MARKET: Este parâmetro não é usado atualmente.

  • CONSUMER: o nome do subdomínio do grupo de APIs será usado.

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:

  • CONSUMER RELEASE

Parâmetros de resposta

Código de status: 200

Tabela 4 Parâmetros de corpo de resposta

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

Tabela 5 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 401

Tabela 6 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 403

Tabela 7 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 404

Tabela 8 Parâmetros de corpo de resposta

Parâmetro

Tipo

Descrição

error_code

String

Código de erro.

error_msg

String

Mensagem de erro.

Código de status: 500

Tabela 9 Parâmetros de corpo de resposta

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.