使用ExpressJS访问Apollo Server中的Request对象

时间:2019-05-30 09:52:22

标签: express apollo apollo-server

有什么方法可以从Apollo Server中的基础Express应用访问请求对象

1 个答案:

答案 0 :(得分:1)

上下文配置参数可以是一个对象,一个返回对象的函数或一个返回承诺以返回对象的函数。此函数将HTTP请求作为参数,可以这样定义:

const apolloServer = new ApolloServer({
  schema,
  context: async ({ req }) => {
    const something = getSomething(req)
    return { something }
  },
})

apolloServer.applyMiddleware({ app, path: '/graphql' })

const { appPort } = serviceFunc.getAccessData()
app.listen({ port: appPort }, () => {
  console.log(`Express+Apollo Server on http://localhost:${appPort}/graphql`)
})

感谢Eugene eugene1g