具有明确错误的GraphQL:Query.example字段types必须是输出types,但得到:

我试图运行与graphql快递服务器,我得到以下错误:

错误:Query.example字段types必须是输出types,但得到:[object Object]。

express-graphql在路由中使用:

app.use('/graphql', graphqlHTTP(req => ({ schema, pretty: true }))); 

模式如下所示:

 export default new GraphQLSchema({ query: new GraphQLObjectType({ name: 'Query', fields: queries }) }); 

查询只有一个从这里导入的查询:

 import { GraphQLList, GraphQLID, GraphQLNonNull } from 'graphql'; import exampleScheme from '../models/schemes/example'; import {example as exampleData} from '../models/jsons' export default { type: exampleScheme, resolve (root, params, options) { return exampleData; } }; 

模式(exampleScheme)和数据(exampleScheme)正在处理另一个项目,所以我认为他们不是问题。

有任何想法吗? “输出types”是什么意思?

如果

 export default { type: exampleScheme, resolve (root, params, options) { return exampleData; } }; 

是你的查询,那么你错了,查询的字段,因此在你的例子查询应该是这样的:

 export default { helloString: { type: GraphQLString, resolve (root, params, options) { return "Hello World!"; } } ... <Next query> }; 

无论如何,错误是“types”不是一个有效的GraphQLType。 那么查询将如下所示

 query { testString } 

将导致:

 { testString: "Hello World!" } 

如果含义是exampleScheme是其他对象,请确保您使用以下方法创build它:

 new GraphQLObjectType({ .... Options }); 

希望能帮助到你! 🙂