我正在尝试使用axios从GraphQL中的json服务器获取数据。我的RootQuery和GraphQLObjectType看起来像:
const EmpoloyeeType = new GraphQLObjectType({
name:'Employee',
fields:()=>({
employeeID:{type: GraphQLID},
employeeName:{type: GraphQLString}
})
});
const RootQuery = new GraphQLObjectType({
name:'RootQueryType',
fields:{
employee:{
type: EmpoloyeeType,
args:{employeeID:{type:GraphQLID}},
resolve(parent, args){
return axios.get('http://localhost:3000/Empoloyee?employeeID='+args.employeeID)
.then(res => res.data);
}
},
运行此命令时,如果使用console.log(res.data)
,则只能在控制台中看到数据。 GraphQL返回null
作为结果。
{
"data": {
"employee": {
"employeeID": null,
"employeeName": null
}
}
}
这里的奇怪情况是,当我在db.json和schema.js(EmployeeTypee和RootQuery)中使用“ id”作为字段名称而不是“ employeeID”时,一切工作正常。在这种情况下,URL为http://localhost:3000/Empoloyee/'+args.id
。
我尝试使用answer中的解决方案解决此问题。但是在根查询中添加Async
和await
对我没有帮助。我只是收到此错误: