我正在使用apollo-server
构建GraphQL模式。我的模式有很多查询,我想将它们组合在一起。有没有一种按域对它们进行分组的方法,这样我就可以进行以下查询:
query {
Books {
getAll {
...
}
getByUser {
...
}
}
}
我可以使用graphql-dotnet
来做到这一点,但是我不确定如何使用apollo-server
来做到这一点。
答案 0 :(得分:1)
给出类似的模式
type Query {
books: Books
}
type Books {
getAll: [Book!]!
}
type Book {
id: ID!
title: String!
}
您的解析器的外观应类似于:
const resolvers = {
Query: {
books: () => {
return {}
},
},
Books: {
getAll: () => {
# return list of books
}
}
}
books
字段返回一个对象类型(Books
),因此它是解析器必须返回一个对象,即使它是如上所示的空对象。如果该字段解析为null,则即使请求了它的所有子字段,也不会解析。通过返回一个空对象,我们确保子字段也将得到解析。