Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/abacritt/apollo-error

Custom payload in Apollo GraphQL server.
https://github.com/abacritt/apollo-error

apollo-server apollo-server-express apollographql

Last synced: about 2 months ago
JSON representation

Custom payload in Apollo GraphQL server.

Awesome Lists containing this project

README

        

# Apollo Error

Custom payload in Apollo GraphQL server.

## Usage

### Install via npm

```sh
npm install apollo-error
```

### Bind with Apollo Server

Showing example for Express below.

```javascript
import express from 'express';
import bodyParser from 'body-parser';
import { graphqlExpress } from 'apollo-server-express';
import { formatError } from 'apollo-error';

import schema from './graphql/schema';

const app = express();

app.use('/graphql', bodyParser.json(), graphqlExpress({
formatError,
schema
}));

app.listen(3000);
```

### Throw ApolloError

```javascript
throw new ApolloError(message, {
/* your custom payload here */
foo: 'bar',
...
});
```

### Response handling

You can access the custom payload in your response handler like the following.

```javascript
if(response.errors) {
const myErrorMessage = response.errors[0].message;
const myErrorExtras = response.errors[0].data;
}
```