gpt4 book ai didi

graphql - req 在 Apollo Server 上下文中始终未定义

转载 作者:行者123 更新时间:2023-12-01 11:14:19 25 4
gpt4 key购买 nike

我对 apollo-server 上下文有问题。我写了以下代码:

const { ApolloServer } = require("apollo-server-azure-functions");
const { typeDefs, resolvers } = require('../graphql_schema/schema');

const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ req }) => {
console.log(req);
return {
req: req
}
},
introspection: false,
playground: true,
});

module.exports = server.createHandler();

但是 req 变量总是未定义的。
有人有想法吗?

我正在使用以下版本的阿波罗
"apollo-server": "^2.4.2",
"apollo-server-azure-functions": "^2.4.2",

非常感谢。

最佳答案

我有我的问题的解决方案。

context: ( {req} ) =>... 

不要解构 req , 它应该是:
context: (req) => ...
const { ApolloServer } = require("apollo-server-azure-functions");
const { typeDefs, resolvers } = require('../graphql_schema/schema');

const server = new ApolloServer({
typeDefs,
resolvers,
context: (req) => {
return {
accesstoken: GetAccessToken(req.request)
}
},
introspection: false,
playground: true,
});

const GetAccessToken = function (request){
const token = (request.headers.authorization || '').replace('BEARER ', '');
return token;
}

module.exports = server.createHandler();

关于graphql - req 在 Apollo Server 上下文中始终未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54802631/

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