Route ​
The Route resource allows you to manage AWS ApiGatewayV2 Routes and their configuration settings for HTTP APIs.
Minimal Example ​
Create a basic route with essential properties including a route key and API ID.
ts
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 ​
Configure a route with advanced options such as authorization settings and response selection expressions.
ts
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 ​
Create a route that includes request parameters to handle dynamic input.
ts
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 ​
Set up a route that specifies custom request models for input validation.
ts
const modelRoute = await AWS.ApiGatewayV2.Route("modelRoute", {
ApiId: "myApiId",
RouteKey: "PUT /products/{productId}",
Target: "integrations/myIntegrationId",
RequestModels: {
"application/json": "ProductModel"
},
RouteResponseSelectionExpression: "$default"
});