【发布时间】:2021-09-07 21:09:04
【问题描述】:
我正在 GraphQL Playground 中测试一些实现,我想在其中发送一个特定的 cookie,以便我可以在我的解析器中获取它。我在操场上使用内置的 Http Headers 窗格:
但是,当我添加名为 Cookie 或 cookie 的标头时,当我尝试将其控制台记录到解析器中时,它不会显示。所有其他自定义 Http 标头都显示没有问题。
如上面的屏幕截图所示,出现了 testheader,但没有显示 cookie 标头。我正在使用cookieParser,这可能是cookie 标头消失的原因,但我不确定。这是我的 console.log 部分的屏幕截图:
当我尝试 console.log req.cookies 时,我什么也得不到,这是使用 cookieParser 的好处之一。
我的 ApolloServer 实现如下:
const server = new ApolloServer({
typeDefs: schema
resolvers,
dataSources: () => ({
// ...
}),
context: ({req, res}) => ({
models,
session: req.session,
req,
res
}),
// ... and the rest is not important
});
创建一个“自定义”cookie 标头可以解决问题,例如 somecookie: <key>=<value>,但我认为这不是最佳做法,我宁愿避免这样做。我希望有人知道为什么我的 cookie header 没有出现,或者我可以做些什么让它出现?
【问题讨论】:
标签: cookies graphql apollo graphql-playground restdatasource