abacritt / apollo-error

Custom payload in Apollo GraphQL server.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Apollo Error

Custom payload in Apollo GraphQL server.

Usage

Install via npm

npm install apollo-error

Bind with Apollo Server

Showing example for Express below.

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

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.

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

About

Custom payload in Apollo GraphQL server.

License:MIT License


Languages

Language:TypeScript 100.0%