🔗 apollo-contentful-rest-link
Perform GraphQL queries against Contentful’s Rest API. No more, query size limits! No more, query complexities!!
Install
Via npm
npm install --save apollo-contentful-rest-link
Via Yarn
yarn add apollo-contentful-rest-link
How to use
ContentfulRestLink
makes it easy to query the Contentful REST API via GraphQL +
Apollo, without all the fuss about query size, nor complexity, limit issues. Simply
setup the link
when you are creating your ApolloClient
, then feel free to
perform your GraphQL
queries like you normally do.
The ContentfulRestLink
class accepts two arguments, clientOptions
and queryDefaults
(optional).
-
clientOptions
- Accepts all Contentful Client options, reference available here.
The only exception is that if you plan to use the Contentful Preview API, you’ll have to include an optional previewAccessToken
, which will create a client for all queries where preview
variable is true
.
-
queryDefaults
- This is just a handy tool if you happen to have some defaults that you would like to include for all queries being made to Contentful. Handy ones that you might use would be,{ include: 10, locale: 'en-US' }
. Whereinclude
sets the depth of linked references to include in responses, Link docs, andlocale
specifies the localization of the entry(ies) returned, Localization docs.
Example
import { ApolloClient, InMemoryCache } from '@apollo/client'
import { ContentfulRestLink } from 'apollo-contentful-rest-link'
import introspectionQueryResultData from 'schema/possibleTypes.json'
const space = process.env.CONTENTFUL_SPACE
const accessToken = process.env.CONTENTFUL_ACCESS_TOKEN
const apolloClient = new ApolloClient({
link: new ContentfulRestLink({
space,
accessToken,
}, {
include: 10,
}),
cache: new InMemoryCache({ possibleTypes }),
});