mirror of
https://github.com/vale981/apollo-server
synced 2025-03-17 00:06:42 -04:00

There were many missing releases and bullet points as well as inaccurate ones. For example, it was impossible to figure out that users of Hapi 16 who want to use Apollo Cache Control needed to use precisely version 1.2.0 of apollo-server-hapi (which wasn't even mentioned). Link to CHANGELOG from all READMEs. Add READMEs for the graphql-server-* packages. Add an explanation of our versioning system to the top of CHANGELOG.md.
2.5 KiB
2.5 KiB
title | description |
---|---|
Hapi | Setting up Apollo Server with Hapi |
This is the Hapi integration of Apollo Server. Apollo Server is a community-maintained open-source Apollo 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-hapi
Usage
With the Hapi plugins graphqlHapi
and graphiqlHapi
you can pass a route object that includes options to be applied to the route. The example below enables CORS on the /graphql
route.
The code below requires Hapi 17 or higher.
import Hapi from 'hapi';
import { graphqlHapi } from 'apollo-server-hapi';
const HOST = 'localhost';
const PORT = 3000;
async function StartServer() {
const server = new Hapi.server({
host: HOST,
port: PORT,
});
await server.register({
plugin: graphqlHapi,
options: {
path: '/graphql',
graphqlOptions: {
schema: myGraphQLSchema,
},
route: {
cors: true,
},
},
});
try {
await server.start();
} catch (err) {
console.log(`Error while starting server: ${err.message}`);
}
console.log(`Server running at: ${server.info.uri}`);
}
StartServer();
Principles
Apollo Server is built with the following principles in mind:
- By the community, for the community: Apollo Server's development is driven by the needs of developers
- Simplicity: by keeping things simple, Apollo Server is easier to use, easier to contribute to, and more secure
- Performance: Apollo Server is well-tested and production-ready - no modifications needed
Anyone is welcome to contribute to Apollo Server, just read CONTRIBUTING.md, take a look at the roadmap and make your first PR!