Skip to content
GitHubXDiscordRSS

RequestValidator

Learn how to create, update, and manage AWS ApiGateway RequestValidators using Alchemy Cloud Control.

The RequestValidator resource allows you to manage AWS ApiGateway RequestValidators which validate request parameters and request bodies for API requests.

Create a basic RequestValidator with required properties and one optional property to validate request parameters:

import AWS from "alchemy/aws/control";
const requestValidator = await AWS.ApiGateway.RequestValidator("basicRequestValidator", {
RestApiId: "myApiId",
ValidateRequestParameters: true
});

Configure a RequestValidator with additional options to validate both request parameters and the request body:

const advancedRequestValidator = await AWS.ApiGateway.RequestValidator("advancedRequestValidator", {
RestApiId: "myApiId",
ValidateRequestParameters: true,
ValidateRequestBody: true,
Name: "AdvancedValidator"
});

If you want to adopt an existing RequestValidator instead of failing, you can use the adopt property:

const adoptedRequestValidator = await AWS.ApiGateway.RequestValidator("adoptedRequestValidator", {
RestApiId: "myApiId",
ValidateRequestParameters: true,
adopt: true
});

Using the RequestValidator with an API Method

Section titled “Using the RequestValidator with an API Method”

Demonstrate how to associate a RequestValidator with an API method for validation:

import AWS from "alchemy/aws/control";
const requestValidator = await AWS.ApiGateway.RequestValidator("methodRequestValidator", {
RestApiId: "myApiId",
ValidateRequestParameters: true
});
const apiMethod = await AWS.ApiGateway.Method("myApiMethod", {
RestApiId: "myApiId",
ResourceId: "myResourceId",
HttpMethod: "POST",
AuthorizationType: "NONE",
RequestValidatorId: requestValidator.Arn,
MethodResponses: [{
StatusCode: "200"
}]
});