Configurar um método usando o console do API Gateway - Amazon API Gateway

Configurar um método usando o console do API Gateway

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. Por padrão, o API Gateway cria a resposta do método 200 para seu método.

As instruções a seguir mostram como editar as configurações de solicitação de método e como criar respostas de método adicionais para seu método.

Editar uma solicitação de método do API Gateway no console do API Gateway

Estas instruções supõem que você já criou sua solicitação de método. Para saber mais sobre como criar um método, consulte Configurar uma solicitação de integração de API usando o console do API Gateway.

  1. No painel Recursos, escolha o método e selecione a guia Solicitação de método.

  2. Na seção Configurações de solicitação de método, selecione Editar.

  3. Em Autorização, selecione um autorizador disponível.

    1. Para habilitar o acesso aberto ao método para qualquer usuário, selecione Nenhum. Essa etapa poderá ser ignorada se a configuração padrão não tiver sido alterada.

    2. Para usar permissões do IAM para controlar o acesso do cliente ao método, selecione AWS_IAM. Com essa opção, somente os usuários das funções do IAM com a política do IAM correta anexada terão permissão para chamar esse método.

      Para criar a função do IAM, especifique uma política de acesso com um formato semelhante ao seguinte:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "resource-statement" ] } ] }

      Nesta política de acesso, resource-statement é o ARN do seu método. Você pode encontrar o ARN do seu método selecionando o método na página Recursos. Para obter mais informações sobre como definir as permissões do IAM, consulte Controlar o acesso a uma API REST com permissões do IAM.

      Para criar um perfil do IAM, é possível adaptar as instruções no seguinte tutorial: Criar uma função do Lambda para integração não proxy do Lambda.

    3. Para usar um autorizador do Lambda, selecione um autorizador de solicitação ou token. Crie um autorizador do Lambda para que essa opção seja exibida no menu suspenso. Para obter informações sobre como criar um autorizador do Lambda, consulte Usar os autorizadores do API Gateway Lambda.

    4. Para usar um grupo de usuários do Amazon Cognito, escolha um grupo de usuários disponíveis em Cognito user pool authorizers (Autorizadores do grupo de usuários do Cognito). Crie um grupo de usuários no Amazon Cognito e um autorizador do grupo de usuários do Amazon Cognito no API Gateway para que essa opção seja exibida no menu suspenso. Para obter informações sobre como criar um autorizador do grupo de usuários do Amazon Cognito, consulte Controlar o acesso a APIs REST usando grupos de usuários do Amazon Cognito como autorizador.

  4. Para especificar a validação da solicitação, selecione um valor no menu suspenso Validador de solicitação. Para desativar a validação da solicitação, selecione Nenhuma. Para obter mais informações sobre cada opção, consulte Solicitar validação para APIs REST no API Gateway.

  5. Selecione Chave de API obrigatória para exigir uma chave de API. Quando ativadas, as chaves de APIs são usadas em planos de uso para controlar o tráfego do cliente.

  6. (Opcional) Para atribuir um nome da operação em um SDK do Java dessa API, gerada pelo API Gateway, em Nome da operação, digite um nome. Por exemplo, para a solicitação de método de GET /pets/{petId}, o nome da operação de Java SDK correspondente é, por padrão,GetPetsPetId. Esse nome é construído a partir do verbo HTTP do método (GET) e os nomes de variáveis de caminho de recurso (Pets e PetId). Se você definir o nome da operação como getPetById, o nome da operação de SDK se tornará GetPetById.

  7. Para adicionar um parâmetro de string de consulta ao método, faça o seguinte:

    1. Selecione Parâmetros de string de consulta de URL e escolha Adicionar string de consulta.

    2. Em Nome, digite o nome do parâmetro de string de consulta.

    3. Selecione Obrigatório se o parâmetro de string de consulta recém-criado precisar ser usado para a validação de solicitação. Para obter mais informações sobre a validação de solicitação, consulte Solicitar validação para APIs REST no API Gateway.

    4. Selecione Armazenamento em cache se o parâmetro de string de consulta recém-criado precisar ser usado como parte de uma chave de armazenamento em cache. Para obter mais informações sobre armazenamento em cache, consulte Usar parâmetros de método ou integração como chaves de cache para indexar respostas em cache.

    Para remover o parâmetro de string de consulta, selecione Remover.

  8. Para adicionar um parâmetro de cabeçalho ao método, faça o seguinte:

    1. Selecione Cabeçalhos de solicitação HTTP e, depois, Adicionar cabeçalho.

    2. Em Nome, insira o nome do cabeçalho.

    3. Selecione Obrigatório se o cabeçalho recém-criado precisar ser usado para a validação de solicitação. Para obter mais informações sobre a validação de solicitação, consulte Solicitar validação para APIs REST no API Gateway.

    4. Selecione Armazenamento em cache se o cabeçalho recém-criado precisar ser usado como parte de uma chave de armazenamento em cache. Para obter mais informações sobre armazenamento em cache, consulte Usar parâmetros de método ou integração como chaves de cache para indexar respostas em cache.

    Para remover o cabeçalho, selecione Remover.

  9. Para declarar o formato de carga útil de uma solicitação de método com o verbo HTTP POST, PUT ou PATCH, expanda Corpo da solicitação e faça o seguinte:

    1. Escolha Add model (Adicionar modelo).

    2. Em Tipo de conteúdo, insira um tipo MIME (por exemplo, application/json).

    3. Em Modelo, selecione um modelo no menu suspenso. Os modelos atualmente disponíveis para a API incluem os modelos padrão Empty e Error, bem como quaisquer modelos que você tenha criado e adicionado à coleção de Modelos da API. Para obter mais informações sobre a criação de um modelo, consulte Modelos de dados para APIs REST.

      nota

      O modelo é útil para informar ao cliente o formato de dados esperado de uma carga útil. Ele é útil para gerar um modelo de mapeamento de esqueleto. É importante gerar um SDK altamente tipado da API em linguagens como Java, C #, Objective-C e Swift. Ele só será necessário se a validação de solicitação estiver ativada para a carga útil.

  10. Escolha Salvar.

Configurar uma resposta do método API Gateway usando o console do API Gateway

Um método de API pode ter uma ou mais respostas. Cada resposta é indexada por seu código de status HTTP. Por padrão, o console do API Gateway adiciona a resposta 200 às respostas de método. Você pode modificá-la, por exemplo, para que o método retorne 201 em vez disso. Você pode adicionar outras respostas, por exemplo, 409 para negação de acesso e 500 para variáveis de estágio não inicializadas utilizadas.

Para usar o console do API Gateway para modificar, excluir ou adicionar uma resposta a um método de API, siga estas instruções.

  1. No painel Recursos, escolha o método e selecione a guia Resposta do método. Talvez seja necessário selecionar o botão de seta para a direita para mostrar a guia.

  2. Na seção Configurações de resposta do método, selecione Criar resposta.

  3. Em Código de status HTTP, insira um código de status HTTP, como 200, 400 ou 500.

    Quando uma resposta retornada pelo backend não tiver uma resposta de método correspondente definida, o API Gateway não retornará a resposta para o cliente. Em vez disso, ele retornará uma resposta de erro 500 Internal server error.

  4. Escolha Add header (Adicionar cabeçalho).

  5. Em Nome de cabeçalho, insira um nome.

    Para retornar um cabeçalho do back-end para o cliente, adicione o cabeçalho à resposta do método.

  6. Selecione Adicionar modelo para definir um formato do corpo de resposta de método.

    Digite o tipo de mídia da carga útil de resposta para Tipo de conteúdo e selecione um modelo no menu suspenso Modelos.

  7. Escolha Salvar.

Para modificar uma resposta existente, acesse a resposta do método e selecione Editar. Para alterar o Código de status HTTP, selecione Excluir e crie uma resposta de método.

Para cada resposta retornada do backend, você deve ter uma resposta compatível configurada como a resposta de método. No entanto, a configuração de cabeçalhos de resposta de método e o modelo de carga útil são opcionais, a menos que você mapeie o resultado do backend para a resposta de método antes de retornar para o cliente. Além disso, um modelo de carga útil de resposta de método é importante se você pretende gerar um SDK fortemente tipado para sua API.