在API网关请求验证中设置默认值

时间:2018-03-12 23:45:24

标签: json amazon-web-services aws-api-gateway jsonschema

是否可以在api网关端点的模型中声明默认值?我试图这样做:

 1 {
  2   "type": "object",
  3   "required": ["name"],
  4   "properties": {
  5     "name": {
  6       "type": "string",
  7       "default": "My Name"
  8     }
  9   }
 10 }

但它根本不起作用。如果我没有传递名称,API网关将返回错误消息,指出正文无效。

谢谢。

1 个答案:

答案 0 :(得分:3)

根据AWS docs

  

有效负载可以根据JSON schema draft 4具有数据模型。

JSON架构草案4未定义指定默认值的方法。所以我的猜测是否定的,使用输入模型不可能做到这一点。

如果您真的想在API网关层中执行此操作,那么您可能应该探索输入映射模板。 “映射模板是以速度模板语言(VTL)表示的脚本”。 VTL似乎有更好的能力。

恕我直言,这是一个坏主意。我宁愿在后端做这件事。