如何使用 graphql-tools 调用查询

How to invoke a query using graphql-tools

我想构建一个 GraphQL API。但是,我不想使用 express 或 connect,这使我无法使用 express-graphql。我的架构是使用 graphql-tools 中的 makeExecutableSchema 方法生成的。这意味着我需要以某种方式手动调用架构上的查询。

基本上,我需要这样的东西:

const { makeExecutableSchema, magicFunction /*This should invoke the query*/ } = require('graphql-tools');

const typeDefs = `
type Query {
  hello: String
}
`;
const resolvers = {
  Query: () => 'hello world!'
}
const schema = makeExecutableSchema({
  typeDefs,
  resolvers
});

// Run the query:
const query = `{
  hello
}`;

console.log('returned:', magicFunction(query, schema));

此外,如果请求来自浏览器,我需要显示 GraphiQL。

这样的事情可能吗?

您正在寻找的神奇函数被命名为 execute. Notice that you first need to parse and validate 查询。

我建议看一下 the source of graphql-express 以了解它的作用。