I want to build a GraphQL API. However, I do not want to use express or connect, which cuts me off from using express-graphql. My schema is generated using the makeExecutableSchema method from graphql-tools. That means I need to somehow manually invoke the query on the schema.
Basically, I need something like this:
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));
Also, I need to show GraphiQL if the request comes from a browser.
Is something like this possible?
The magic function you're looking for is named
execute. Notice that you first need toparseandvalidatethe query.I would suggest to take a look at the source of
graphql-expressto understand what it does.