Axios'get'在GraphiQL中返回null,但在控制台中显示数据

时间:2018-11-20 16:05:34

标签: graphql axios json-server

我正在尝试使用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中的解决方案解决此问题。但是在根查询中添加Asyncawait对我没有帮助。我只是收到此错误:

Error message

0 个答案:

没有答案