GraphQL与快递错误:Query.example字段类型必须是输出类型,但得到:[对象的对象](

2019-09-27 04:10发布

我试图运行与graphql Express服务器,我收到以下错误:

错误:Query.example字段类型必须是输出类型,但得到:[对象的对象。

快车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)的另一个项目工作,所以我认为他们不是问题。

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

Answer 1:

如果

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

是您的疑问,那么你听错了,查询的领域,因此,在您的示例查询,应该这样看:

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

反正错误是“型”是不是一个有效GraphQLType。 那么该查询将这个样子

query {
   testString
}

将导致:

{
    testString: "Hello World!"
}

如果意思是,exampleScheme一些其他的对象,请确保您使用它创建:

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

希望能帮助到你! :)



文章来源: GraphQL with express error : Query.example field type must be Output Type but got: [object Object]