Appsync 响应映射模板 json 键名称更改

Ton*_*tti 5 amazon-web-services aws-appsync

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

我得到的 JSON 如下所示:

{
  "tenant_id": 1,
  "id": "bd8ce6a8-8532-47ec-8b7f-dcd1f1603320",
  "header": "Header name",
  "visible": true
}
Run Code Online (Sandbox Code Playgroud)

我想传递的是

{
  "tenantId": 1,
  "id": "bd8ce6a8-8532-47ec-8b7f-dcd1f1603320",
  "header": "Header name",
  "visible": true
}
Run Code Online (Sandbox Code Playgroud)

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

Sha*_*aju 5

您可以通过以下方式通过您正在解析的字段的响应映射模板来执行此操作:

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

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

$util.toJson($result)
Run Code Online (Sandbox Code Playgroud)

或者,您也可以通过设置一个tenantId字段来改变来自 lambda 的响应,例如#set( $response.tenantId = $response.tenant_id ). 如果您仍然遇到问题,请告诉我。

谢谢,香卡