mirror of
https://github.com/vale981/apollo-server
synced 2025-03-17 08:16:40 -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.
78 lines
3.3 KiB
Markdown
78 lines
3.3 KiB
Markdown
---
|
||
title: Adonis
|
||
description: Setting up Apollo Server with Adonis
|
||
---
|
||
|
||
[](https://badge.fury.io/js/apollo-server-core) [](https://travis-ci.org/apollographql/apollo-server) [](https://coveralls.io/github/apollographql/apollo-server?branch=master) [](https://www.apollographql.com/#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](https://www.apollographql.com/docs/apollo-server/). [Read the CHANGELOG.](https://github.com/apollographql/apollo-server/blob/master/CHANGELOG.md)
|
||
|
||
```sh
|
||
npm install apollo-server-adonis
|
||
```
|
||
|
||
## Usage
|
||
|
||
```js
|
||
// 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](https://github.com/graphql/graphiql) in-browser IDE. Note the difference between `graphqlAdonis` and `graphiqlAdonis`.
|
||
|
||
```js
|
||
// 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`](https://github.com/apollographql/apollo-server/blob/v1.0.2/packages/apollo-server-module-graphiql/src/renderGraphiQL.ts#L17) option – a string that will be added to the request header object.
|
||
|
||
For example:
|
||
|
||
```js
|
||
// 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](https://github.com/apollographql/apollo-server/blob/master/CONTRIBUTING.md), take a look at the [roadmap](https://github.com/apollographql/apollo-server/blob/master/ROADMAP.md) and make your first PR!
|