A resolver function for Apollo Server which loads serialized data from local files.
Designed for local testing as a companion to the Google Cloud Storage version apollo-resolver-gcs.
Based on the example server in the Apollo Server 2 Getting Started guide.
const { ApolloServer } = require('apollo-server')
const { createResolver } = require('apollo-resolver-fs')
const typeDefs = ...
const getBook = createResolver({
basePath: '/path/to/the/data',
argsToKey: ({ slug }) => `${slug}.json`,
})
const resolvers = {
Query: {
getBook,
},
}
const server = new ApolloServer({ typeDefs, resolvers })
await server.listen()
In this example, getBook(slug: "harry-potter")
returns the deserialized
contents of /path/to/the/data/harry-pottern.json
.
- Run
npm start
to start the server. - Open
https://localhost:4000/
. You should see the GraphQL Playground explorer tool. - Run a query:
{
getBook(slug: "harry-potter") {
title
author
}
}
You should see the result:
{
"data": {
"getBook": {
"title": "Harry Potter and the Chamber of Secrets",
"author": "J.K. Rowling"
}
}
}
This project is licensed under the MIT license.