我想执行这样的查询:
{
houses(owner: "Thomas") {
id
color
cars(type: "Sports Car") {
name
year
}
}
}
但这会返回错误:
"message": "Unknown argument \"type\" on field \"cars\" of type \"House\".",
但是,我能够正确执行此操作:
cars(type: "Sports Car") {
name
year
}
我尝试做的甚至可能吗?
提前致谢!
答案 0 :(得分:0)
确保将 cars 的解析器设置为 houses 的子查询。 houses 查询的结果应作为 root 参数传递给 cars 子查询。
type House {
id
color
cars( type: String! ): [ Car ]
}
type Car {
name
year
}
您的解析器可能如下所示:
Query: {
async houses( root, args, context ) {
return { ... houses ... }
}
},
houses: {
async cars( root, args, context ) {
return { ... cars ... }
}
}
然后为嵌入 houses 查询下的 cars 创建一个解析器。如果您使用的是来自Apollo的graphql-tools:Writing resolvers with graphql-tools
,这里有一篇文章希望这有帮助!