AWS API Gateway映射模板JSON

时间:2019-02-18 06:28:50

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

我有一个使用“ Lambda代理集成”的 NOT 的API阶段,该阶段具有传递错误的Lambda函数。

在映射模板中,我有这个:

$input.path("$.errorMessage")

这将导致以下结果的输出:

{
    "headers": {
        "apiVersion": "20190218.1",
        "isTesting": true
    },
    "body": {
        "statusCode": 503,
        "status": "Service Unavailable",
        "title": "One or more of our data providers are currently offline for scheduled maintenance"
     }
}

标头值已映射到模板标头并正确通过,但是我需要主体将其转换为:

{
   "statusCode": 503,
   "status": "Service Unavailable",
   "title": "One or more of our data providers are currently offline for scheduled maintenance"
}

无论我尝试了什么,body总是以空字符串,空正文或无效JSON的形式返回。

这是我所拥有的最接近的,但是它返回无效的JSON:
$util.parseJson($input.path("$.errorMessage")).body

结果(不带引号返回):

{statusCode=503, status=Service Unavailable, title=One or more of our data providers are currently offline for scheduled maintenance}

有可能做我想做的事吗?我找不到$ util.parseJson(即stringify)的反向字符。

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为原始张贴者可能在过去11个月中一直在发展,但是如果其他任何人偶然发现了这个问题,$input.json('$.errorMessage.body')应该可以解决。