This repository contains a GraphQL API that is composed of two GraphQL APIs (from Prisma & Contentful) using schema stitching (via GraphQL bindings).
git clone [email protected]:nikolasburk/prisma-contentful-schema-stitching.git
cd prisma-contentful-schema-stitching
yarn install
npm install -g prisma # install the Prisma CLI if necessary
prisma deploy
When prompted by the CLI where to deploy the service, select the Demo server and register with Prisma Cloud. If you have Docker installed, you can also deploy locally.
Once the command has finished, the Prisma CLI writes the endpoint
property to prisma.yml
.
In the Contentful app, create a new space and create an Article
content model that looks similar to this:
To connect the GraphQL server with the Prisma and Contentful APIs, you need to replace a few placeholder values in the code.
Replace the following placeholder:
__PRISMA_ENDPOINT__
in src/index.js
with the endpoint
from prisma.yml
Replace the following placeholders:
__CONTENTFUL_ACCESS_TOKEN__
in .graphqlconfig.yml
& src/ContentfulBinding.js
with an access token for the Contentful Delivery API__CONTENTFUL_SPACE_ID__
in src/ContentfulBinding.js
with the ID of the Contentful space you created in step 3__CONTENTFUL_CONTENT_MANAGEMENT_TOKEN__
in src/ContentfulBinding.js
with with a Content Management TokenNote: You can get the tokens from the Contentful dashboard of your space through Settings -> API keys.
node src/index.js
graphql playground
Note: If you have the server running, you need to execute this command in a new terminal tab/window since the current tab is used by the server process.
The playground lets you interact with all three GraphQL APIs that are defined in .graphqlconfig.yml
.