gpt4 book ai didi

node.js - 在上下文(express.js 中的请求)对象中附加属性

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

我是 GraphQL 新手,现在正在尝试使用 express-graphql 创建 API 服务器。

我想要做的是在解析器的 context 对象中添加新属性,这可以在初始化 express-graphql 服务器实例时完成。

根据官方文档,默认情况下,如果代码中没有指定任何内容,每个解析器函数中的context对象都会有一个之前在Express.js中称为req的对象

app.use(
'/graphql',
graphqlHTTP({
schema: schema,
graphiql: true
})
)
// by this,
// in resolver there will be `context` available
// which includes the data previously available in `req` object (express.js case)

那么,如果我想在 reqcontext 对象中添加自己的自定义属性以及所有 req 的成员,该怎么办?我只想添加一两个新值,但不想丢失 req 已有的其他值。

app.use(
'/graphql',
graphqlHTTP({
schema: schema,
graphiql: true,
context: {
customData: 'Yay!'
}
})
)
// I was able to add my own data in `context`,
// but eventually I lost all of data which was previously in the `req` object! 😢

任何好的想法或知识都将非常感激。

最佳答案

你可以这样使用

app.use('/graphql', expressGraphql(req => ({
schema,
graphiql: false,
context: {
...req,
customData: 'Yay!'
}
})))

请参阅文档 https://github.com/graphql/express-graphql#providing-extensions

关于node.js - 在上下文(express.js 中的请求)对象中附加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58316204/

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