apollo-server/packages/apollo-server-koa
Martijn Walraven d89a07bc9c v1.0.2
2017-07-17 16:44:05 -07:00
..
src Rename packages from graphql-server- to apollo-server- (#465) 2017-07-17 16:29:40 -07:00
.npmignore Rename packages from graphql-server- to apollo-server- (#465) 2017-07-17 16:29:40 -07:00
package.json v1.0.2 2017-07-17 16:44:05 -07:00
README.md Rename packages from graphql-server- to apollo-server- (#465) 2017-07-17 16:29:40 -07:00
tsconfig.json Rename packages from graphql-server- to apollo-server- (#465) 2017-07-17 16:29:40 -07:00

graphql-server-koa

npm version Build Status Coverage Status Get on Slack

This is the Koa integration of GraphQL Server. GraphQL Server is a community-maintained open-source GraphQL server that works with all Node.js HTTP server frameworks: Express, Connect, Hapi, Koa and Restify. Read the docs.

Principles

GraphQL Server is built with the following principles in mind:

  • By the community, for the community: GraphQL Server's development is driven by the needs of developers
  • Simplicity: by keeping things simple, GraphQL Server is easier to use, easier to contribute to, and more secure
  • Performance: GraphQL Server is well-tested and production-ready - no modifications needed

Anyone is welcome to contribute to GraphQL Server, just read CONTRIBUTING.md, take a look at the roadmap and make your first PR!

Usage

import koa from 'koa'; // koa@2
import koaRouter from 'koa-router'; // koa-router@next
import koaBody from 'koa-bodyparser'; // koa-bodyparser@next
import { graphqlKoa } from 'apollo-server-koa';

const app = new koa();
const router = new koaRouter();
const PORT = 3000;

// koaBody is needed just for POST.
app.use(koaBody());

router.post('/graphql', graphqlKoa({ schema: myGraphQLSchema }));
router.get('/graphql', graphqlKoa({ schema: myGraphQLSchema }));

app.use(router.routes());
app.use(router.allowedMethods());
app.listen(PORT);