我在我的nodejs应用中使用express-graphql。
为了从解析器访问数据库,我创建了一个名为08-03 14:16:59.728 11039-13685/com.example.ortel.tagnet 1: [1]
08-03 14:16:59.728 11039-13685/com.example.ortel.tagnet 2: []
的对象(该对象处理名为ProjectHandler
的数据库中的表),并将其注入到解析器中通过在创建projects
实例时更改context
,就像这样:
express-graphql
问题是,这取代了默认上下文作为请求对象的表示,从而阻止了我访问会话信息。
问题是,我需要会话信息和项目处理程序。我该怎么办?
答案 0 :(得分:1)
graphqlHTTP
函数返回一个明确的middleware
,因此为了传递带有context
对象的自定义request
,我们必须将该函数包装在一起middleware
,然后激活graphqlHTTP
middleware
下面的这段代码应该可以工作(没有尝试过):
app.use('/graphql', (request, response) => {
return graphqlHTTP({
schema,
graphiql: true,
context: {
projectsHandler,
request
}
})(request, response);
})