尝试获取特定的单个记录时,GraphiQL返回空值

时间:2018-06-22 07:32:36

标签: node.js graphql graphql-js json-server graphiql

我正在尝试构建基本的GraphQL模式。我有一个在端口3000上运行的JSON服务器,其中包含我要使用GraphiQL检索的数据。

以下是我为此编写的代码:

const CustomerType = new GraphQLObjectType({
name:'Customer',
fields:() => ({
    id: { type:GraphQLString },
    name: { type:GraphQLString }        
})
});


const RootQuery = new GraphQLObjectType({
name : 'RootQueryType',
fields:{
    customer : {
        type : CustomerType,
        args:{
            id:{type:GraphQLString}
        },
        resolve(parentValue,args){
            return axios.get('http://localhost:3000/customers/?id='+args.id)
            .then(res => res.data);
        }
    }
}        
});

这就是我编写查询的方式。

    customer(id : "123"){
          id,
          name
    }

这是正在生成的输出。

    {
       "data": {
          "customer": {
              "id": null,
              "name": null,
           }
       }
    }

但是,当我尝试验证是否使用console.log从data.json文件中获取了正确的数据时,如此生成的输出包含正确的非空值。有人可以帮我这个忙吗?另外,当我尝试使用GraphQLList一次一次获取所有客户的列表时,也不会发生错误:

customers:{
        type: new GraphQLList(CustomerType),
        resolve(parentValue,args){
            return axios.get('http://localhost:3000/customers/')
            .then(res => res.data);
        }

0 个答案:

没有答案