Métodos para APIs REST no API Gateway
No API Gateway, um método de API incorpora uma solicitação de método e uma resposta de método. Você pode configurar um método de API para definir o que um cliente deve fazer para enviar uma solicitação para acessar o serviço no backend e definir as respostas que o cliente recebe em troca. Para entrada, você pode escolher os parâmetros de solicitação de método ou uma carga útil aplicável para o cliente fornecer os dados obrigatórios ou opcionais em tempo de execução. Para a saída, você determina o código de status de resposta de método, os cabeçalhos e o corpo aplicável como destinos para mapear os dados de resposta de backend, antes de serem retornados para o cliente. Para ajudar o desenvolvedor do cliente a entender os comportamentos e os formatos de entrada e saída de sua API, você pode documentar sua API e fornecer mensagens de erro adequadas para solicitações inválidas.
Solicitação de método de API é uma solicitação HTTP. Para configurar a solicitação de método, configure um método HTTP (ou verbo), o caminho para um recurso de API, cabeçalhos e parâmetros de string de consulta aplicáveis. Você também configura uma carga útil quando o método HTTP é POST
, PUT
ou PATCH
. Por exemplo, para recuperar um animal de estimação usando a API de exemplo PetStore, defina a solicitação de método de API de GET
/pets/{petId}
, em que {petId}
é um parâmetro de caminho que pode obter um número em tempo de execução.
GET /pets/1 Host: apigateway.us-east-1.amazonaws.com ...
Se o cliente especificar um caminho incorreto, por exemplo, /pet/1
ou /pets/one
em vez de /pets/1
, será lançada uma exceção.
Uma resposta de método de API é uma resposta HTTP com um código de status determinado. Para uma integração não proxy, você deve configurar respostas de método para especificar os destinos obrigatórios ou opcionais dos mapeamentos. Eles transformam os cabeçalhos de resposta de integração ou o corpo para os cabeçalhos de resposta de método associado ou o corpo. O mapeamento pode ser tão simples quanto uma transformação de identidade200
a seguir mostra um exemplo de passagem de uma resposta de integração bem-sucedida no estado em que se encontra.
200 OK Content-Type: application/json ... { "id": "1", "type": "dog", "price": "$249.99" }
Em princípio, você pode definir uma resposta de método correspondente a uma resposta específica do backend. Normalmente, isso envolve qualquer resposta 2XX, 4XX e 5XX. No entanto, isso pode não ser prático, pois, muitas vezes, você pode não saber com antecedência todas as respostas que um backend pode retornar. Na prática, você pode designar uma resposta de método como padrão para lidar com respostas desconhecidas ou não mapeadas do backend. É uma boa prática designar a resposta 500 como padrão. Em qualquer caso, você deve configurar pelo menos uma resposta de método para integrações não proxy. Caso contrário, o API Gateway retorna uma resposta de erro 500 para o cliente, mesmo quando a solicitação for bem-sucedida no backend.
Para oferecer suporte a um SDK fortemente tipado, como um Java SDK, para sua API, você deve definir o modelo de dados para entrada para a solicitação de método e definir o modelo de dados para a saída da resposta de método.
Pré-requisitos
Antes de configurar um método de API, verifique o seguinte:
-
Você deve ter o método disponível no API Gateway. Siga as instruções em Tutorial: Crie uma API REST com uma integração de não proxy de HTTP.
-
Se você deseja que o método se comunique com uma função do Lambda, você já deve ter criado as funções de invocação e execução do Lambda no IAM. Você também deve ter criado a função do Lambda com a qual seu método se comunicará no AWS Lambda. Para criar as funções, use as instruções em Criar uma função do Lambda para integração não proxy do Lambda do Escolher um tutorial de integração do AWS Lambda.
-
Se quiser que o método se comunique com uma integração HTTP ou de proxy HTTP, será necessário já ter criado a URL de endpoint HTTP com a qual o seu método se comunicará, além de ter acesso a ela.
-
Verifique se os certificados para os endpoints HTTP e de proxy HTTP têm suporte pelo API Gateway. Para obter mais detalhes, consulte Autoridades de certificado compatíveis com o API Gateway para integrações HTTP e de proxy HTTP no API Gateway..
nota
Ao criar um método usando o console da API REST, você configura a solicitação de integração e a solicitação de método. Para ter mais informações, consulte Configurar uma solicitação de integração de API usando o console do API Gateway.