我正在尝试使用 Aurora RDS 实现 Appsync。获取查询返回所有属性值为空的响应。我认为它能够正确连接数据库,因为当我故意拼错表名时看到了一些错误。我不确定问题出在哪里。我用 Dynamodb 尝试了相同的实现,效果很好。这是解析器的问题还是与权限相关的问题?
响应如下所示:
回复:
{
"data": {
"getTest": {
"id": null,
"name": null,
"surname": null
}
}
}
数据库表描述:
id int(11)
name text
surname text
AppSync GraphQL 架构是:
type Query {
getTest(id: ID!): Test
}
type Test {
id: ID
name: String
surname: String
}
schema {
query: Query
}
请求解析器:
{
"version": "2018-05-29",
"statements": [
"select * from TestTable where id = '$ctx.args.id'"
]
}
响应解析器:
#if($ctx.error)
$utils.error($ctx.error.message, $ctx.error.type)
#end
$utils.toJson($utils.rds.toJsonObject($ctx.result)[0])