首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在保持对请求对象的访问的同时,对express-graphql解析器进行依赖注入?

如何在保持对请求对象的访问的同时,对express-graphql解析器进行依赖注入?
EN

Stack Overflow用户
提问于 2018-08-04 05:11:48
回答 1查看 390关注 0票数 1

我在我的nodejs应用中使用了express-graphql。

为了从解析器访问数据库,我创建了一个名为ProjectHandler的对象(它处理数据库中一个名为projects的表),并在创建express-graphql实例时通过更改context将其注入解析器,如下所示:

代码语言:javascript
运行
复制
app.use('/graphql', graphqlHTTP({
  schema,
  graphiql: true,
  context: {projectsHandler}
}))

问题是,这替换了默认上下文,使其不再是请求对象的表示,从而阻止我访问会话信息。

问题是,我需要会话信息和项目处理程序。我该怎么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-04 18:49:12

graphqlHTTP函数返回一个快速middleware,因此为了传递包含request对象的自定义context,我们必须将该函数与我们自己的middleware包装在一起,并激活graphqlHTTP middleware

下面的代码应该可以工作(还没试过):

代码语言:javascript
运行
复制
 app.use('/graphql', (request, response) => {
     return graphqlHTTP({
        schema,
        graphiql: true,
        context: {
            projectsHandler,
            request
        }
     })(request, response);
 })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51680119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档