如何使用 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
以了解它的作用。
我想构建一个 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
以了解它的作用。