Skip to content
GitHubXDiscord

RouteResponse

The RouteResponse resource lets you manage AWS ApiGatewayV2 RouteResponses, which define how API responses are handled and formatted. For more details, you can refer to the AWS ApiGatewayV2 RouteResponses documentation.

Create a basic RouteResponse with required properties and one optional property.

import AWS from "alchemy/aws/control";
const routeResponse = await AWS.ApiGatewayV2.RouteResponse("basicRouteResponse", {
RouteResponseKey: "200",
RouteId: "123456",
ApiId: "api-abcdef",
ResponseParameters: {
"method.response.header.Access-Control-Allow-Origin": "'*'"
}
});

Configure a RouteResponse with additional properties to refine response handling.

const advancedRouteResponse = await AWS.ApiGatewayV2.RouteResponse("advancedRouteResponse", {
RouteResponseKey: "404",
RouteId: "123456",
ApiId: "api-abcdef",
ModelSelectionExpression: "$request.body.type",
ResponseModels: {
"application/json": "ErrorModel"
}
});

Create a RouteResponse that specifies custom response parameters for CORS.

const corsRouteResponse = await AWS.ApiGatewayV2.RouteResponse("corsRouteResponse", {
RouteResponseKey: "200",
RouteId: "123456",
ApiId: "api-abcdef",
ResponseParameters: {
"method.response.header.Access-Control-Allow-Origin": "'https://example.com'",
"method.response.header.Access-Control-Allow-Methods": "'GET, POST, OPTIONS'",
"method.response.header.Access-Control-Allow-Headers": "'Content-Type'"
}
});

Define a RouteResponse that leverages a specific response model for structured data.

const modelRouteResponse = await AWS.ApiGatewayV2.RouteResponse("modelRouteResponse", {
RouteResponseKey: "200",
RouteId: "123456",
ApiId: "api-abcdef",
ResponseModels: {
"application/json": "MyResponseModel"
}
});