Express body-parser that supports the application/graphql
MIME type.
How does it work?
body-parser-graphql
checks the Content-Type
header of the request. If the Content-Type is application/graphql
, the request is transformed into a 'normal' application/json
GraphQL request, and the Content-Type
header is set to application/json
.
Received request:
{ posts { id title }}
request.body
value after the middleware:
query: posts id title
If an application/json
request is received, it applies the JSON body-parser.
Installation
Install body-parser-graphql
using your favorite package manager:
$ yarn add body-parser-graphql$ npm install body-parser-graphql
Usage
The body-parser-graphql
can be used as a drop-in replacement for the normal json
body-parser.
import * as express from 'express'- import * as bodyParser from 'body-parser'+ import * as bodyParser from 'body-parser-graphql' const app = express() - app.use(bodyParser.json())+ app.use(bodyParser.graphql()) // Your express routes app.listen(/* your configuration */)
Alternatively, you can also import the body-parser directly:
app.usebodyParserGraphQL