mirror of
https://github.com/vale981/apollo-server
synced 2025-03-06 10:11:40 -05:00
![]() This change seems necessary in order to meet the new type definitions for `res.setHeader` which mandate that the argument be a string, or an array of strings. Those type definitions were introduced via the `@types/node@9` series of typing updates provided in [0], [1], [2]. With any luck, this will fix the failures being exhibited in CircleCI tests[3] after we landed those typing updates. [0]: https://github.com/apollographql/apollo-server/pull/907 [1]: https://github.com/apollographql/apollo-server/pull/927 [2]: https://github.com/apollographql/apollo-server/pull/939 [3]: https://circleci.com/gh/apollographql/apollo-server/1587 |
||
---|---|---|
.. | ||
src | ||
.npmignore | ||
package.json | ||
README.md | ||
tsconfig.json |
title | description |
---|---|
Express / Connect | Setting up Apollo Server with Express.js or Connect |
This is the Express and Connect integration of GraphQL Server. Apollo 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. Read the CHANGELOG.
npm install apollo-server-express
Express
import express from 'express';
import bodyParser from 'body-parser';
import { graphqlExpress } from 'apollo-server-express';
const myGraphQLSchema = // ... define or import your schema here!
const PORT = 3000;
const app = express();
// bodyParser is needed just for POST.
app.use('/graphql', bodyParser.json(), graphqlExpress({ schema: myGraphQLSchema }));
app.listen(PORT);
Connect
import connect from 'connect';
import bodyParser from 'body-parser';
import { graphqlConnect } from 'apollo-server-express';
import http from 'http';
const PORT = 3000;
const app = connect();
// bodyParser is needed just for POST.
app.use('/graphql', bodyParser.json());
app.use('/graphql', graphqlConnect({ schema: myGraphQLSchema }));
http.createServer(app).listen(PORT);
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!