Как включить валидатор запросов в API gatway для файла yml - AWS - PullRequest
1 голос
/ 10 января 2020

Я пытаюсь включить средство проверки запросов в API-шлюзе с использованием yml-файла без сервера, но не могу найти вариант для этого в документации: Безсерверный Do c. В терминале AWS я решил эту проблему, но для меня более интересно использовать файл .yml.

Tutorial AWS: AWS validator

Опция в AWS клемма

Ответы [ 2 ]

2 голосов
/ 10 января 2020

В дополнение к другому ответу, если вы ищете проверку тела, вы также можете использовать встроенную проверку запроса на основе черновика-04 схемы JSON. Он встроен в Serverless Framework.

Документы - https://serverless.com/framework/docs/providers/aws/events/apigateway#request -schema-validators Пример - https://github.com/fernando-mc/schema-validation-demo

2 голосов
/ 10 января 2020

Существует плагин, поддерживаемый сообществом, который позволяет вам добавить функции AWS Request Validator API Gateway к вашему проекту без сервера: https://serverless.com/plugins/serverless-reqvalidator-plugin/

Вот пример от ОП

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
...