我正在尝试使用可选的过滤器参数编写一个简单的查询
例如
const query = gql`query FilteredPeople($email: String) {
people(email: $email) {
fullName
email
}
}`;
我一直在
"Network error: The inline argument "email" is expected as a variable but was not provided."
这让我觉得它在服务器端,但我的架构非常简单
const RootQuery = `
type RootQuery {
people(email: String): [Person]
}
`;
查看graphql规范以指定某些内容是否可选,您使用!
。如您所见,不需要电子邮件。
注意我正在使用apollo客户端/服务器和react-apollo。
上的版本server
"graphql": "^0.7.2",
"graphql-server-express": "^0.4.3",
client
"apollo-client": "0.5.0",
"graphql-tag": "0.1.15",
"react-apollo": "0.5.16",
我错过了什么吗?我以为我修好了,但它停止了工作,所以我猜不是。
答案 0 :(得分:0)
答案 1 :(得分:0)
虽然看起来字符串可以为空,但实际上如果您决定不传递任何内容,那么:
const query = gql`query {
people {
fullName
email
}
}`;
但是,如果您像在问题中那样使用参数传递,则必须定义该变量。
希望有所帮助!