Chamar uma API REST no Amazon API Gateway - Amazon API Gateway

Chamar uma API REST no Amazon API Gateway

Para chamar uma API implantada, os clientes enviam solicitações ao URL do serviço de componente do API Gateway para execução da API, conhecido como execute-api.

A URL base para APIs REST está no seguinte formato:

https://restapi_id.execute-api.region.amazonaws.com/stage_name/

em que restapi_id é o identificador da API, region é a região AWS e stage_name é o nome do estágio da implantação da API.

Importante

Antes de invocar uma API, você deve implantá-la no API Gateway. Para encontrar instruções sobre como implantar uma API, consulte Implantar uma API REST no Amazon API Gateway.

Obter o URL de invocação de uma API

Você pode usar o console, a AWS CLI ou uma definição de OpenAPI exportada para obter o URL de invocação de uma API.

Obter o URL de invocação de uma API usando o console

O procedimento a seguir mostra como obter o URL de invocação de uma API no console da API REST.

Obter o URL de invocação de uma API usando o console da API REST
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Escolha uma API implantada.

  3. No painel de navegação principal, escolha Estágio.

  4. Em Detalhes do estágio, escolha o ícone de cópia para copiar o URL de invocação da API.

    Esse URL é para o recurso-raiz da sua API.

    Após a criação da API REST, o console mostra o URL de chamada da API.
  5. Para obter o URL de invocação de uma API para outro recurso na API, expanda o estágio no painel de navegação secundário e selecione um método.

  6. Escolha o ícone de cópia para copiar o URL de invocação no nível de recurso da API.

    O URL no nível do recurso para a API REST está no painel de navegação secundário do estágio.

Obter o URL de invocação de uma API usando a AWS CLI

O procedimento a seguir mostra como obter o URL de invocação de uma API usando a AWS CLI.

Obter o URL de invocação de uma API usando a AWS CLI
  1. Use o comando a seguir para obter rest-api-id. Esse comando retorna todos os valores rest-api-id em sua região. Para saber mais, consulte get-rest-apis.

    aws apigateway get-rest-apis
  2. Substitua o exemplo rest-api-id pelo seu rest-api-id, substitua o exemplo {stage-name} pelo seu {stage-name} e substitua a {region} pela sua região.

    https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage_name}/
Obter o URL de invocação de uma API usando o arquivo de definição OpenAPI exportado da API

Também é possível construir esse URL-raiz combinando os campos host e basePath de um arquivo de definição OpenAPI exportado da API. Para encontrar instruções sobre como exportar sua API, consulte Exportar uma API REST do API Gateway.

Invocação de uma API

Você pode chamar sua API implantada usando o navegador, curl ou outras aplicações, como o Postman.

Além disso, você pode usar o console do API Gateway para testar uma chamada de API. O teste usa o recurso TestInvoke do API Gateway, que permite testar a API antes de implantá-la. Para ter mais informações, consulte Use o console do API Gateway para testar um método de API REST.

nota

Os valores de parâmetros de strings de consulta em uma URL de invocação não podem conter %%.

Invocar uma API usando um navegador da web

Se sua API permitir acesso anônimo, você poderá usar qualquer navegador da web para invocar qualquer método GET. Insira o URL de invocação completo na barra de endereço do navegador.

Para outros métodos ou chamadas que exigem autenticação, você deve especificar uma carga útil ou assinar as solicitações. É possível lidar com elas em um script por trás de uma página HTML ou em um aplicativo cliente usando um dos SDKs da AWS.

Invocar uma API usando curl

Você pode usar uma ferramenta como curl em seu terminal para chamar sua API. O exemplo de comando curl a seguir invoca o método GET no recurso getUsers do estágio prod de uma API.

Linux or Macintosh
curl -X GET 'https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod/getUsers'
Windows
curl -X GET "https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod/getUsers"