How To Access the request object inside a GraphQL resolver Function (Apollo-Server-Express)

VithalReddy
stackFAME
Published in
1 min readJan 13, 2018

If you’re working with GraphQL (a query language for your API), and you’re using apollo-server-express, You may notice unlike express-graphql, request object will not be available in context, if it’s not defined in apollo-sever-express middleware, but don’t worry, if want request object available in context, just use following quick hack, not really and you’re done.

normal apollo-server-express middleware:

app.use(‘/graphql’, bodyParser.json(), graphqlExpress({ yourSchema }));

apollo-server-express middleware with request object as context:

consider, you want request user as context:

app.use(‘/graphql’, bodyParser.json(), graphqlExpress(req => ({YourSchema, context: { user: req.user }

}));

Here, we are using es6 arrow functions and passing request object in that function.so that it will be available to pass in context of graphql query.

Now, you can pass context in your resolver functions to access request object inside resolver function.

first appeared on Web Development Blog StackFrame.

--

--