如何在 yaml 文件的 API 网关中启用查询验证器 - AWS

How to enable query validator in API gatway on yml file - AWS

我正在尝试使用无服务器 yml 文件在 API 网关中启用请求验证器,但我在文档中找不到此选项:Serverless Doc。 在 AWS 终端中,我解决了这个问题,但对我来说,如果使用 .yml 文件更有趣。

AWS 教程:AWS validator

Option in AWS terminal

有一个社区支持的插件,允许您将 AWS 请求验证器 API 网关功能添加到您的无服务器项目:https://serverless.com/plugins/serverless-reqvalidator-plugin/

这是来自 OP

的示例
plugins:
  - serverless-reqvalidator-plugin
service: lambda-teste

provider:
  name: aws
  stage: dev
  region: us-east-2
  runtime: nodejs12.x

functions:
  myFunction:
    handler: handler.handler
    events:
      - http:
          path: handler
          reqValidatorName: onlyHead
          method: get
          request:
            parameters:
              querystrings:
                name: true

resources:
  Resources:
    onlyHead:  
      Type: "AWS::ApiGateway::RequestValidator"
      Properties:
        Name: 'only-head'
        RestApiId: 
          Ref: ApiGatewayRestApi
        ValidateRequestBody: false
        ValidateRequestParameters: true

除了其他答案之外,如果您正在寻找正文验证,您还可以使用基于 JSON 架构的 draft-04 的内置请求验证。它内置于无服务器框架中。

文档 - https://serverless.com/framework/docs/providers/aws/events/apigateway#request-schema-validators 示例 - https://github.com/fernando-mc/schema-validation-demo