Graphql使用makeExecutableSchema解析映射

时间:2017-02-27 20:55:50

标签: graphql graphql-js apollostack apollo-server

我在尝试解析GraphQL类型中的字段时遇到问题。 所以,我在这里尝试解析find

patientQuery属性
const gqlSchema = makeExecutableSchema({
    typeDefs: `
  type patientQuery {
    find: [String]
    findOne: String
  }
  type Query {
    patient: patientQuery
  }
  type Mutation {
    addPost(name: String, title: String, content: String): patientQuery
  }
  schema {
    query: Query
    mutation: Mutation
  }
  `,
    resolvers: {
      patientQuery: {
        find(root, params, context, ast) {
          console.log('testing');
          return ['title'];
        }
      }
    }
  });

但是当我这样做一个查询时

{
  patient {
    find
  }
}

我总是得到空

{
  "data": {
    "patient": null
  }
}

那么解决patientQuery类型中字段的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

所以,我发现了问题。 Query类型必须解析患者字段,以便它不会返回null

所以新的解析器对象将如下所示,以解决问题

 resolvers: {
  Query: {
    patient() {
      return true;
    }
  },
  patientQuery: {
    find(root, params, context, ast) {
      console.log('testing');
      return [ 'title' ];
    }
  }
}
旧的: -

resolvers: {
  patientQuery: {
    find(root, params, context, ast) {
      console.log('testing');
      return ['title'];
    }
  }
}