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 a definição de uma API em um ambiente especificado. O chamador da API deve ter as permissões necessárias para operar esta API.

URI

A tabela a seguir lista o método de solicitação HTTP/HTTPS e o URI da API.

Tabela 1 Método de solicitação HTTP/HTTPS e URI

Método de solicitação

URI

POST

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

A tabela a seguir lista o parâmetro no URI.

Tabela 2 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

api_id

Sim

String

ID da API

Solicitação

Tabela 3 Descrição do parâmetro

Parâmetro

Obrigatório

Tipo

Descrição

scheme

Sim

String

Protocolo de solicitação, que pode ser:

  • HTTP
  • HTTPS

method

Sim

String

Método de solicitação, que pode ser:

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

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 na configuração de mode:

  • Para DEVELOPER, o nome do subdomínio do grupo de APIs será usado.
  • Para MARKET, será usado o nome de domínio do grupo de API alocado pelo marketplace.
  • Para CONSUMER, o nome do subdomínio do grupo de API será usado.

path

Sim

String

Caminho de solicitação da API, começando com uma barra (/) e com até 1024 caracteres

NOTA:

O caminho da solicitação deve atender aos requisitos do caminho para que possa ser decodificado corretamente após a codificação de porcentagem.

query

Não

Dicionário

Parâmetros 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 um comprimento máximo de 32 bytes.
  • Não diferencia maiúsculas de minúsculas e não inicia com X-Apig- ou X-Sdk-.
  • Não diferencia maiúsculas de minúsculas e não pode ser X-Stage.

header

Não

Dicionário

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 (.) e hifens (-).
  • Começa com uma letra, com um comprimento máximo de 32 bytes.
  • Não diferencia maiúsculas de minúsculas e não inicia 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 mode é 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.

body

Não

String

Corpo da mensagem, com um comprimento máximo de bytes de 2.097.152.

mode

Sim

String

Modo de depuração, que pode ser:

  • DEVELOPER: depura a definição de uma API que não foi publicada.
  • MARKET: depura a definição de uma API comprada no marketplace.
  • CONSUMER: depura a definição de uma API que foi publicada em um ambiente especificado.
    NOTA:

    No modo DEVELOPER, o chamador da API deve ser o proprietário da API.

    No modo MARKET, o chamador da API deve ser o comprador ou proprietário da API.

    No modo CONSUMER, o chamador da API deve ser o proprietário da API ou ter autorizado seu acesso às aplicações no ambiente especificado.

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

stage

Não

String

Ambiente em execução especificado na solicitação de depuração. Este parâmetro só é válido quando mode está definido como CONSUMER. Se nenhum valor for especificado, RELEASE será usado.

Exemplo de solicitação:

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

Resposta

Tabela 4 Descrição do parâmetro

Parâmetro

Tipo

Descrição

request

String

Corpo da solicitação de depuração

response

String

Corpo da resposta de depuração, com um comprimento máximo de bytes de 2.097.152. 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

String

Duração da depuração em milissegundos

log

String

Depuração de logs

Exemplo de resposta:

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

Tabela 5 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 interno do servidor