首页 > 解决方案 > Graphql 查询在 AppSync 控制台上运行良好,但在客户端抛出错误

问题描述

我的架构和查询在放大控制台上运行良好,但在客户端引发类型不匹配错误。仅当返回的对象中有多个记录时才会发生这种情况

只有一条记录时数据成功返回

在此处输入图像描述

对象包含多条记录时出错

在此处输入图像描述

架构:

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",
})

解析器

在此处输入图像描述

我在这里错过了什么或做错了什么吗?如果需要更多信息,请告诉我。

谢谢!

标签: reactjsgraphqlaws-amplifyaws-appsync

解决方案


如果有人想知道,我能够解决这个问题,因为 lambda 数据源没有针对空参数的防护措施。一旦修复,数据就会按预期开始流动。谢谢,米兹。


推荐阅读