2017-03-07 18 views
1

有沒有一種方法可以通過創建多個rootQuery對象並將它們組合在模式中來重構rootQuery對象?GraphQL中的多個rootQuery對象

所以現在我們有一個rootquot完整的多個根,然後我們做一個模式說我們有這一個根查詢。我們寫什麼是

var schema = new GraphQLSchema({ 
query: RootQuery 
}) 

我想會是這樣

var schema = new GraphQLSchema({ 
query: [RootQuery1, RootQuery2] 
}) 

有沒有方法可以讓我在GraphQL做到這一點?它將有助於重構。

回答

3

沒有不能,GraphQLSchemaqueryType只接受GraphQLObjectTypeRootQuery,它不能是數組類型的多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 } 
    };