Cloudflare Docs
Pages
Edit this page on GitHub
Set theme to dark (⇧+D)

GraphQL Pages Plugin

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

$ npm install @cloudflare/pages-plugin-graphql

​​ Usage

functions/graphql.ts
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.