AWS AppSync Graphql "Expected JSON object for '$[filter]' but got a 'STRING' instead."



我试图根据graphql上的子项id过滤结果,并收到以下错误:

"'$[filter]'需要JSON对象,但得到了'STRING'。">

大部分代码是由aws-amplifier生成的。

架构

type Company {
id: ID!
name: String!
disabled: Int
}
type Customer {
id: ID!
name: String!
company: Company!
disabled: Int
}
input ModelCustomerFilterInput {
id: ModelIDFilterInput
name: ModelStringFilterInput
disabled: ModelIntFilterInput
company: ModelCompanyFilterInput #added by me
and: [ModelCustomerFilterInput]
or: [ModelCustomerFilterInput]
not: ModelCustomerFilterInput
}
input ModelCompanyFilterInput {
id: ModelIDFilterInput
name: ModelStringFilterInput
disabled: ModelIntFilterInput
and: [ModelCompanyFilterInput]
or: [ModelCompanyFilterInput]
not: ModelCompanyFilterInput
}

查询

query ListCustomers($filter: ModelCustomerFilterInput, $limit: Int, $nextToken: String) {
listCustomers(filter: $filter, limit: $limit, nextToken: $nextToken) {
__typename
items {
__typename
id
name
company {
__typename
id
name
disabled
}
disabled
}
nextToken
}
}
{"filter": {"company": {"id": {"eq": "example"}}}}

已经解决了我的问题。

我所做的是以公司包含客户的方式改变模式本身。事实上,问题出在模式设计上。

我真的很想在graphql中看到一个查找函数,但可能它不是为它设计的

相关内容

最新更新