Skip to content

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 install @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.