Route
The Route resource allows you to manage AWS ApiGatewayV2 Routes and their configuration settings for HTTP APIs.
Minimal Example
Section titled “Minimal Example”Create a basic route with essential properties including a route key and API ID.
import AWS from "alchemy/aws/control";
const basicRoute = await AWS.ApiGatewayV2.Route("basicRoute", { ApiId: "myApiId", RouteKey: "GET /users", Target: "integrations/myIntegrationId", ApiKeyRequired: true});
Advanced Configuration
Section titled “Advanced Configuration”Configure a route with advanced options such as authorization settings and response selection expressions.
const advancedRoute = await AWS.ApiGatewayV2.Route("advancedRoute", { ApiId: "myApiId", RouteKey: "POST /orders", Target: "integrations/myIntegrationId", AuthorizerId: "myAuthorizerId", AuthorizationScopes: ["read:orders", "write:orders"], RouteResponseSelectionExpression: "$default"});
Route with Request Parameters
Section titled “Route with Request Parameters”Create a route that includes request parameters to handle dynamic input.
const paramRoute = await AWS.ApiGatewayV2.Route("paramRoute", { ApiId: "myApiId", RouteKey: "GET /users/{userId}", Target: "integrations/myIntegrationId", RequestParameters: { "method.request.path.userId": true }, ModelSelectionExpression: "$request.body.type"});
Route with Custom Request Models
Section titled “Route with Custom Request Models”Set up a route that specifies custom request models for input validation.
const modelRoute = await AWS.ApiGatewayV2.Route("modelRoute", { ApiId: "myApiId", RouteKey: "PUT /products/{productId}", Target: "integrations/myIntegrationId", RequestModels: { "application/json": "ProductModel" }, RouteResponseSelectionExpression: "$default"});