Appsync 响应映射模板 json 密钥名称更改
Appsync response mapping template json key name change
在 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
}
Schema 需要 tenantID 形式的租户 ID 和 lambda returns 形式的 tenant_id。我可以在 lambda 中更改它,但我想知道如何在响应映射模板中进行更改。
您可以按照以下方式通过您要解析到的字段的响应映射模板来执行此操作:
考虑将来自您的 lambda 的 JSON 响应存储在 response
变量中,然后您可以 return 这样的事情。
$#set($result = {
"tenantId": ${response.tenant_id},
"id": "${response.id}",
"header": "${response.header}",
"visible": $response.visible
})
$util.toJson($result)
或者,您也可以通过设置 tenantId
字段来改变 lambda 的响应,例如 #set( $response.tenantId = $response.tenant_id )
。如果您仍然遇到问题,请告诉我。
谢谢,
香卡
在 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
}
Schema 需要 tenantID 形式的租户 ID 和 lambda returns 形式的 tenant_id。我可以在 lambda 中更改它,但我想知道如何在响应映射模板中进行更改。
您可以按照以下方式通过您要解析到的字段的响应映射模板来执行此操作:
考虑将来自您的 lambda 的 JSON 响应存储在 response
变量中,然后您可以 return 这样的事情。
$#set($result = {
"tenantId": ${response.tenant_id},
"id": "${response.id}",
"header": "${response.header}",
"visible": $response.visible
})
$util.toJson($result)
或者,您也可以通过设置 tenantId
字段来改变 lambda 的响应,例如 #set( $response.tenantId = $response.tenant_id )
。如果您仍然遇到问题,请告诉我。
谢谢, 香卡