API-Gateway可以检查输入参数并拒绝(不将其传递给Lambda)HTTP请求吗?

时间:2017-05-15 21:59:47

标签: aws-lambda aws-api-gateway

我想使用API​​-Gateway(以及Lambda)来实现PetStore Restful API。其中一个API入口点是,POST请求的主体需要包含“名称”。请参阅下面的PetStore definition代码段:

/pets/
   POST

definitions:
  NewPet:
    required:
      - name  
    properties:
      name:
        type: string
      tag:
        type: string  

我可以使API-Gateway足够智能,拒绝不包含必填字段的请求(在本例中为'name'),而不调用Lambda(是的,我知道我能够检查其中的输入字段Lambda函数,但我想知道我是否可以避免它)? - 这将为处理角落案件节省大量时间和复杂性。

2 个答案:

答案 0 :(得分:2)

这可以通过使用"方法请求中设置的请求验证来实现。设置。

method request settings

答案 1 :(得分:0)

如果要验证请求正文而不是查询字符串,则需要创建模型;

API> {ApiName}>模型

在侧边栏中。

使用JSON Schema

创建模型

在API网关中,选择验证请求正文,然后在下拉列表中选择您创建的模型。

API Gateway config page