The official graphql-http
package provides a simple way to create a fully compliant GraphQL server. It has a handler for Node.js native http
, together with handlers for well-known frameworks like Express, Fastify and Koa; as well as handlers for different runtimes like Deno and Bun.
Express
import { createHandler } from "graphql-http/lib/use/express" // ES6
const { createHandler } = require("graphql-http/lib/use/express") // CommonJS
createHandler
function createHandler({
schema,
rootValue,
context,
formatError,
validationRules,
}: {
rootValue?: any,
context?: any,
formatError?: Function,
validationRules?: any[],
}): Handler
Constructs an Express handler based on a GraphQL schema.
See the tutorial for sample usage.
See the GitHub README for more extensive documentation, including how to use graphql-http
with other server frameworks and runtimes.