有没有一种方法可以通过创建多个 rootQuery 对象并将它们组合到模式中来重构 rootQuery 对象?
所以现在我们有一个充满多个根的 rootQuery,然后我们创建一个模式说我们有一个根查询。我们写的是
var schema = new GraphQLSchema({
query: RootQuery
})
我想要的样子
var schema = new GraphQLSchema({
query: [RootQuery1, RootQuery2]
})
有没有办法在 GraphQL 中做到这一点?它将有助于重构。
最佳答案
不它不能,GraphQLSchema
queryType
只接受 GraphQLObjectType
是 RootQuery
,不能是有多个GraphQLObjectType
你所有的类型都应该在主要的 queryType
中声明,它是 RootQuery
下面是GraphQLSchema的源码
https://github.com/graphql/graphql-js/blob/master/src/type/schema.js#L58
export class GraphQLSchema {
_queryType: GraphQLObjectType; // accepts GraphQLObjectType not array
_mutationType: ?GraphQLObjectType;
_subscriptionType: ?GraphQLObjectType;
_directives: Array<GraphQLDirective>;
_typeMap: TypeMap;
_implementations: { [interfaceName: string]: Array<GraphQLObjectType> };
_possibleTypeMap: ?{
[abstractName: string]: { [possibleName: string]: boolean }
};
关于refactoring - GraphQL 中的多个 rootQuery 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645193/