Usar um modelo de mapeamento para substituir parâmetros de solicitação e resposta e códigos de status de uma API - Amazon API Gateway

Usar um modelo de mapeamento para substituir parâmetros de solicitação e resposta e códigos de status de uma API

Modelos de mapeamento de parâmetros e código de resposta padrão do API Gateway permitem associar parâmetros um a um e uma família de códigos de status de resposta de integração, combinados com uma expressão regular, a um único código de status de resposta. As substituições do modelo de mapeamento permitem que você faça o seguinte:

  • Executar mapeamentos de parâmetros muitos para um.

  • Substituir os parâmetros após a aplicação dos mapeamentos padrão do API Gateway

  • Associar parâmetros condicionalmente com base no conteúdo do corpo ou outros valores de parâmetros.

  • Criar parâmetros de modo programático.

  • Substituir os códigos de status exibidos pelo seu endpoint de integração.

Qualquer tipo de parâmetro de solicitação, cabeçalho de resposta ou código de status de resposta pode ser substituído.

Casos de uso para substituir parâmetros de solicitação e de resposta e códigos de status da sua API

Em sua API, é possível usar uma substituição de modelo de mapeamento para sua API para fazer o seguinte:

  • Criar um novo cabeçalho (ou substituir um cabeçalho existente) como uma concatenação de dois parâmetros

  • Substituir o código de resposta para um código de êxito ou falha com base no conteúdo do corpo

  • Remapear condicionalmente um parâmetro com base em seu conteúdo ou no conteúdo de algum outro parâmetro

  • Iterar o conteúdo de um corpo json e remapear pares de chave/valor para cabeçalhos ou strings de consulta

Considerações sobre a substituição de parâmetros de solicitação e de resposta e códigos de status da API

As considerações a seguir podem afetar o uso de substituições de modelo de mapeamento.

  • Não é possível usar substituições por meio de modelo de mapeamento com endpoints de integração de proxy, os quais não têm mapeamentos de dados. Para mais informações sobre integração, consulte Escolher um tipo de integração de API do API Gateway.

  • As substituições são feitas no final. Uma substituição só pode ser aplicada a um parâmetro por vez. Se você tentar substituir o mesmo parâmetro várias vezes, o API Gateway vai gerar uma resposta 5XX. Se você tiver de substituir o mesmo parâmetro várias vezes em todo o modelo, é recomendável criar uma variável e aplicar a substituição no final do modelo. O modelo é aplicado somente depois que todo o modelo é analisado. Para ter mais informações, consulte Substituir parâmetros e cabeçalhos de solicitação de uma API usando o AWS Management Console.

Referência de substituição de modelos de mapeamento

Para criar uma substituição por meio de modelo de mapeamento, use uma ou mais das seguintes $context variáveis em um modelo de mapeamento:

Modelo de mapeamento do corpo da solicitação Modelo de mapeamento do corpo da resposta
$context.requestOverride.header.header_name $context.responseOverride.header.header_name
$context.requestOverride.path.path_name $context.responseOverride.status
$context.requestOverride.querystring.querystring_name Nenhum

Para conhecer exemplos de substituição de parâmetros de solicitação e resposta e códigos de status de uma API, consulte Exemplos de substituição de parâmetros de solicitação e resposta e códigos de status de uma API.