AWS API Gateway:使用模拟集成来回显响应主体

use*_*714 2 amazon-web-services aws-api-gateway

我正在尝试使用Mock集成来“回显”我发送的JSON正文。不过,我只是无法得到它的工作。我可以从“ POST-集成响应”中返回任意JSON正文,但是从未通过找到JSON请求$input.json('$')。我已经能够成功地回显任何查询参数。

我的API有一个“ /”路径和一个定义的方法(POST)。导出的YAML是在这里

任何想法,以什么可怎么回事?

mat*_*iel 18

我发现这实际上是可能的,虽然有点 hacky。首先,在集成请求映射模板中,您将正文存储在路径参数中。

#set($context.requestOverride.path.body = $input.body)
{
  "statusCode": 200,
}
Run Code Online (Sandbox Code Playgroud)

然后在集成响应映射模板中取回并返回它。

#set($body = $context.requestOverride.path.body)
{
  "statusCode": 200,
  "body": $body,
}
Run Code Online (Sandbox Code Playgroud)

这似乎甚至适用于更大的有效载荷。

  • 这对我有用,也可以添加到,如果你想解析正文并提取它,我们可以使用 `"someVar": $util.parseJson($body).someVar,` (4认同)

Jac*_*AWS 5

不幸的是,这不受支持。在“集成响应”的映射模板中,$input表示从集成响应接收到的有效负载(在集成情况下为空MOCK

  • 啊,等等。那么如何访问输入查询参数呢? (2认同)