如何仅使用请求在无插件的AWS无服务器架构中进行验证

时间:2019-07-03 19:24:19

标签: validation serverless-framework aws-serverless

我正在尝试使用body / payload和params验证发布请求:

curl -X POST \
  [url]/api/{param1}/comment/{param2} \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
        "bodyParam1": "45",
        "bodyParam2": 123123,
        "bodyParam3": 123
}
'

对节点js使用无服务器框架。

这是我的serverless.yml,我在其中用lambda和lambda-proxy进行了测试,但对于我来说,我都无法验证参数:

 functions:
  someName:
    handler: src/comment.post
    events:
      - http:
          integration: lambda-proxy
          path: /api/{param1}/comment/{param2}
          method: post
          request:
            schema:
              application/json: ${file(./src/models/schema1.json)}
          cors: true

这是我的schema1.json:

{
  "definitions" : {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "title" :"Get object",
  "required": [
    "bodyParam1",
    "bodyParam2",
    "bodyParam3"
  ],
  "properties": {
    "bodyParam1":
    {
      "type":
      "string"
    },
    "bodyParam2":
    {
      "type":
      "integer"
    },
    "bodyParam3":
    {
      "type":
      "integer"
    }
  }
}

请注意,这是对无服务器请求的本机支持,而不是插件版本。

1 个答案:

答案 0 :(得分:0)

使用aws cli

aws cloudformation validate-template --template-body file://schema1.json