AWS API网关Map模板JSON

1l5u6lss  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(246)

我有一个API阶段,它使用“Lambda代理集成”,其中有一个Lambda函数传递错误。
在mapping模板中,我有:

$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"
     }
}


header的值被Map到模板header,并正确地拉取,但是我需要将body转换为:

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


无论我尝试什么,body总是返回一个空字符串,一个空的body,或者一个无效的JSON。
这是我得到的最接近的结果,但它返回了一个无效的JSON:
第一个月
结果(返回时没有引号):

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


有没有可能实现我所追求的?我找不到$util.parseJson的反向(即stringify)。
谢谢你,谢谢

esyap4oy

esyap4oy1#

我认为最初的海报可能在过去的11个月里已经移动了,但是如果其他人遇到这个问题,$input.json('$.errorMessage.body')应该可以工作。

相关问题