apollo-server/packages/apollo-server-adonis
Sashko Stubailo 93f052352c
Docs improvements (#692)
* Freshen up title page

* Improve homepage further

* File a PR!

* Try adding express README to sidebar

* Add READMEs to docs

* Add example page, overhaul setup

* More stuff

* Fix all old URLs

* Eliminate all mentions of graphql-server

* Fix azure functions shit
2017-12-11 23:11:11 -08:00
..
src Update to Hapi 17 (#687) 2017-12-08 09:04:12 +01:00
.npmignore Add support for Adonis framework (#676) 2017-12-04 10:44:17 +01:00
package.json chore(deps): pin dependencies 2017-12-11 19:19:07 +00:00
README.md Docs improvements (#692) 2017-12-11 23:11:11 -08:00
tsconfig.json Add support for Adonis framework (#676) 2017-12-04 10:44:17 +01:00

title description
Adonis Setting up Apollo Server with Adonis

npm version Build Status Coverage Status Get on Slack

This is the Adonis Framework 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, Adonis Framework, and Restify. Read the docs.

npm install apollo-server-adonis

Usage

// start/routes.js
const { graphqlAdonis } = require('apollo-server-adonis');
// or using es6 modules
import { graphqlAdonis } from 'apollo-server-adonis';

const Route = use('Route');

Route.post('/graphql', graphqlAdonis({ schema: myGraphQLSchema }));
Route.get('/graphql', graphqlAdonis({ schema: myGraphQLSchema }));

GraphiQL

You can also use apollo-server-adonis for hosting the GraphiQL in-browser IDE. Note the difference between graphqlAdonis and graphiqlAdonis.

// start/routes.js
const { graphiqlAdonis } = require('apollo-server-adonis');
// or using es6 modules
import { graphiqlAdonis } from 'apollo-server-adonis';

const Route = use('Route');

// Setup the /graphiql route to show the GraphiQL UI
Route.get(
  '/graphiql',
  graphiqlAdonis({
    endpointURL: '/graphql' // a POST endpoint that GraphiQL will make the actual requests to
  })
);

In case your GraphQL endpoint is protected via authentication, or if you need to pass other custom headers in the request that GraphiQL makes, you can use the passHeader option  a string that will be added to the request header object.

For example:

// start/routes.js
const { graphiqlAdonis } = require('apollo-server-adonis');
// or using es6 modules
import { graphiqlAdonis } from 'apollo-server-adonis';

const Route = use('Route');

Route.get(
  '/graphiql',
  graphiqlAdonis({
    endpointURL: '/graphql',
    passHeader: `'Authorization': 'Bearer lorem ipsum'`
  })
);

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!