【发布时间】:2019-05-09 18:29:44
【问题描述】:
我正在学习 GraphQL,特别是,我正在学习 stephen Grinder 的 udemy 课程。
在他的视频中,他在 revolve 中使用了 3rd Argument
resolve(parent, args, request) {
request 对象包含详细信息,例如他们尝试的路线 访问、查询字符串和正文等(用于身份验证)
我发现有些模糊的解释
所以我用谷歌搜索并从 graphQL 页面阅读了这篇文章
这个例子是用 JavaScript 编写的,但是 GraphQL 服务器也可以 用许多不同的语言构建。解析器函数接收四个 论据:
obj 上一个对象,对于根查询类型上的字段是 经常不使用。
args 提供给字段中的参数 GraphQL 查询。
context 提供给每个解析器的值,并且 保存重要的上下文信息,例如当前登录的 用户,或访问数据库。
info 保存字段特定的值 与当前查询以及架构相关的信息 详细信息,请参阅类型 GraphQLResolveInfo 了解更多详细信息。
现在,我无法理解我们什么时候需要使用上下文/请求?由于它用于突变,我感觉它会将信息从 graphQL 传递到我的护照快递(因为我们在该路线中的实际意图是从前端获取输入并将其传递给本地护照策略)
但根据定义,它似乎被用于将信息从 express 传递到 graphQL
此外,由于我偶然发现了 graphQl 文档,我还看到了一些我再次无法理解的信息。
那么有人可以解释一下 graphQL 中的上下文和信息吗?
【问题讨论】: