我正在使用graphql-tools来构建GraphQL Schema,基本上我有这个结构
const typeDefs = `
type Query {
author(name: String): Author
}
interface Person {
id: Int
name: String
citizenship: String
type Author implements Person {
id: Int
name: String
citizenship: String
`
我有以下解析器
const resolvers = {
Query: {
author(_,args) {
return Author.find({where: args});
}
}
Person: {
citizenship() {
return "Example Citizenship";
}
}
}
我使架构可执行
const schema = makeExecutableSchema({
typeDefs,
resolvers,
inheritResolversFromInterfaces: true
});
和可选参数 inheritResolversFromInterfaces:true 它应该允许我根据apollo graphql-tools文档继承从Person
到Author
的公民身份解析器({ {3}})。这样,当查询作者时,将出现“示例公民身份”字符串。
但是没有,查询返回
"author": {
"id": 1,
"name": "Peter",
"citizenship": null
}
答案 0 :(得分:0)
已解决,在版本v2.24.0中添加了功能inheritResolversFromInterfaces: true
,需要具有该版本才能使用该功能。