gpt4 book ai didi

node.js - 如何在保持对请求对象的访问的同时对express-graphql解析器进行依赖注入(inject)?

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:17 24 4
gpt4 key购买 nike

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

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

app.use('/graphql', graphqlHTTP({
schema,
graphiql: true,
context: {projectsHandler}
}))

问题是,这会替换默认上下文作为请求对象的表示,从而阻止我访问 session 信息。

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

最佳答案

graphqlHTTP 函数返回一个快速的中间件,以便传递带有 request 对象的自定义context我们必须用我们自己的中间件包装该函数,并激活graphqlHTTP 中间件

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

 app.use('/graphql', (request, response) => {
return graphqlHTTP({
schema,
graphiql: true,
context: {
projectsHandler,
request
}
})(request, response);
})

关于node.js - 如何在保持对请求对象的访问的同时对express-graphql解析器进行依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51680119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com