Skip to content
Cloudflare Docs
We recommend using Cloudflare Workers for new projects. For existing Pages projects, see our migration guide and compatibility matrix.
Close

GraphQL

The GraphQL Pages Plugin creates a GraphQL server which can respond to application/json and application/graphql POST requests. It responds with the GraphQL Playground for GET requests.

Installation

Terminal window
npm i @cloudflare/pages-plugin-graphql

Usage

import graphQLPlugin from "@cloudflare/pages-plugin-graphql";
import {
graphql,
GraphQLSchema,
GraphQLObjectType,
GraphQLString,
} from "graphql";
const schema = new GraphQLSchema({
query: new GraphQLObjectType({
name: "RootQueryType",
fields: {
hello: {
type: GraphQLString,
resolve() {
return "Hello, world!";
},
},
},
}),
});
export const onRequest: PagesFunction = graphQLPlugin({
schema,
graphql,
});

This Plugin only exposes a single route, so wherever it is mounted is wherever it will be available. In the above example, because it is mounted in functions/graphql.ts, the server will be available on /graphql of your Pages project.