Criar rotas para APIs HTTP no API Gateway
Roteia solicitações diretas recebidas de API para recursos de backend. As rotas consistem em duas partes: um método HTTP e um caminho de recurso, por exemplo, GET /pets. É possível definir métodos HTTP específicos para a rota. Ou usar o método ANY para corresponder a todos os métodos não definidos para um recurso. Você pode criar uma rota $default que funciona como um catch-all para solicitações que não correspondem a nenhuma outra rota.
nota
O API Gateway decodifica parâmetros de solicitação codificados em URL antes de passá-los para integrações de back-end.
Trabalhar com variáveis de caminho
É possível usar variáveis de caminho em rotas de API HTTP.
Por exemplo, a rota GET /pets/{petID} captura uma solicitação GET que um cliente envia para https://. api-id.execute-api.us-east-2.amazonaws.com/pets/6
Uma variável de caminho voraz captura todos os recursos filho de uma rota. Para criar uma variável de caminho voraz, adicione + ao nome da variável, por exemplo, {proxy+}. O parâmetro de caminho voraz deve estar no final do caminho do recurso.
Trabalhar com parâmetros de string de consulta
Por padrão, o API Gateway enviará parâmetros de string de consulta para a integração de backend se eles estiverem incluídos em uma solicitação para uma API Gateway.
Por exemplo, quando um cliente envia uma solicitação para https://, os parâmetros de string de consulta api-id.execute-api.us-east-2.amazonaws.com/pets?id=4&type=dog?id=4&type=dog são enviados para a integração.
Trabalhar com a rota $default
A rota $default captura solicitações que não correspondem explicitamente a outras rotas na API.
Quando a rota $default recebe uma solicitação, o API Gateway envia o caminho de solicitação completo para a integração. Por exemplo, é possível criar uma API com apenas uma rota $default e integrá-la ao método ANY com o endpoint do HTTP https://petstore-demo-endpoint.execute-api.com. Quando uma solicitação é enviada para https://, o API Gateway envia uma solicitação para api-id.execute-api.us-east-2.amazonaws.com/store/checkouthttps://petstore-demo-endpoint.execute-api.com/store/checkout.
Para saber mais sobre integrações HTTP, consulte Criar integrações de proxy HTTP para APIs HTTP.
Rotear solicitações de API
Quando um cliente envia uma solicitação de API, o API Gateway primeiro determina para qual estágio rotear a solicitação. Se a solicitação corresponder explicitamente a um estágio, o API Gateway enviará a solicitação para esse estágio. Se nenhum estágio corresponder totalmente à solicitação, o API Gateway enviará a solicitação para o estágio $default. Se não houver estágio $default, a API retornará {"message":"Not
Found"} e não gerará logs do CloudWatch.
Depois de selecionar um estágio, o API Gateway seleciona uma rota. Ele seleciona a rota com a correspondência mais específica, usando as seguintes prioridades:
Correspondência completa para uma rota e um método.
Correspondência para uma rota e um método com uma variável de caminho voraz (
{proxy+}).A rota
$default.
Se nenhuma rota corresponder a uma solicitação, o API Gateway retornará {"message":"Not Found"} ao cliente.
Por exemplo, considere uma API com um estágio $default e as seguintes rotas de exemplo:
GET /pets/dog/1GET /pets/dog/{id}GET /pets/{proxy+}ANY /{proxy+}$defaultA tabela a seguir resume como o API Gateway roteia solicitações para as rotas demonstrativas.
| Solicitação | Rota selecionada | Explicação |
|---|---|---|
|
|
|
A solicitação corresponde totalmente a esta rota estática. |
|
|
|
A solicitação corresponde totalmente a essa rota. |
|
|
|
A solicitação não corresponde totalmente a uma rota. A rota com um método |
|
|
O método |