【发布时间】:2020-12-11 01:40:33
【问题描述】:
我的架构和查询在放大控制台上运行良好,但在客户端引发类型不匹配错误。仅当返回的对象中有多个记录时才会发生这种情况
只有一条记录时数据成功返回
对象包含多条记录时出错
架构:
type Member {
Id: ID
PartyId: String
Status: MemberStatus
PersonName: MemberName
Email: String
UniformId: String
Name: String
}
type MemberName {
FirstName: String
LastName: String
FullName: String
InformalName: String
}
type MemberStatus {
PartyStatusId: String
Name: String
Description: String
ActiveStatus: Int
}
type Query {
listMembers(id: ID, firstName: String, lastName: String): [Member]
}
我在前端的查询
// Single Record
const [isLoading, state, error] = useGraphql(queries.listMembers, {
firstName: "BlaBle",
lastName: "Blu",
})
// Multiple Records
const [isLoading, state, error] = useGraphql(queries.listMembers, {
firstName: "blee",
})
解析器
我在这里遗漏了什么或做错了什么吗?如果需要更多信息,请告诉我。
谢谢!
【问题讨论】:
-
请问您使用的是什么类型的数据库以及您的解析器是什么样的?
-
它连接到一个 lambda 作为数据源,并且该 lambda 向第三方 api 发出 http 请求。让我快速编辑帖子以包含解析器
-
感谢分享。同样的事情在控制台上工作但在客户端上却没有,这真的很奇怪。必须尝试将响应模板更改为
$ctx.result.body? -
我知道!因为这个,我的头发几乎掉光了。我没试过,我会这样做,看看结果如何。
-
另外,我会仔细检查 Lambda 函数返回的数据及其结构。
标签: reactjs graphql aws-amplify aws-appsync