Appsync响应映射模板JSON密钥名称更改

时间:2018-07-28 20:57:54

标签: amazon-web-services aws-appsync

在AWS Appsync响应映射模板中更改json响应键值的正确方法是什么?

我得到的JSON看起来像这样:

{
  "tenant_id": 1,
  "id": "bd8ce6a8-8532-47ec-8b7f-dcd1f1603320",
  "header": "Header name",
  "visible": true
}

我想传递的是

{
  "tenantId": 1,
  "id": "bd8ce6a8-8532-47ec-8b7f-dcd1f1603320",
  "header": "Header name",
  "visible": true
}

模式希望以tenantID的形式提供租户ID,lambda以tenant_id的形式返回它。我可以在lambda中进行更改,但我想知道如何在响应映射模板中进行更改。

1 个答案:

答案 0 :(得分:3)

您可以通过响应映射模板针对要解决的字段执行以下操作:

考虑将来自lambda的JSON响应存储在response变量中,然后可以返回类似的内容。

$#set($result = {
 "tenantId": ${response.tenant_id},
 "id": "${response.id}",
 "header": "${response.header}",
 "visible": $response.visible
})

$util.toJson($result)

或者,您也可以通过设置tenantId字段(例如#set( $response.tenantId = $response.tenant_id ))来改变lambda的响应。让我知道您是否仍然遇到问题。

谢谢, 香卡