当前位置: 首页 > 知识库问答 >
问题:

GraphQL旋转中的参数

葛鸿轩
2023-03-14

我在学习GraphQL,尤其是StephenGrinder的udemy课程。

在他的视频中,他在旋转中使用了第三参数

resolve(parent, args, request) {

请求对象具有详细信息,例如他们尝试访问的路由、查询字符串和正文等(用于身份验证)

我发现有点模糊地解释了

所以我在谷歌上搜索并从graphQL页面上阅读了这篇文章

此示例是用JavaScript编写的,但是GraphQL服务器可以用许多不同的语言构建。解析器函数接收四个参数:

obj以前的对象,对于根查询类型上的字段,通常不使用该对象。

参数提供给GraphQL查询中的字段的参数。

上下文提供给每个解析器的值,它保存重要的上下文信息,如当前登录的用户或对数据库的访问。

info保存与当前查询相关的字段特定信息以及模式详细信息的值,有关更多详细信息,请参阅GraphQLResolveInfo类型。

现在,我无法理解我们什么时候需要使用上下文/请求?因为它用于突变,我有一种感觉,它会将信息从图形QL传递到我的护照快递(因为我们在该路线中的实际意图是从前端获取输入并将其传递给护照本地策略)

但根据定义,它似乎被用来将信息从express传递到graphQL

此外,由于我偶然发现了图形Ql文档,我也看到了信息,但我再次无法理解。

所以有人可以解释我的上下文和信息在图形QL?

共有1个答案

吴峰
2023-03-14

您基本上可以将任何需要的数据发送到解析器。

我验证令牌并将我的用户添加到请求中,然后将我的用户传递到上下文中,如下所示。

const server  = new ApolloServer({schema: schema(), context: ({req}) => ({context: 
req.user})});

然后我可以一次性使用所有用户数据:

 saveChat: async (root, {chat}, {context, pubsub}) => {
  const user = context || null;
  chat.author = user._id ? user._id : null;
  return new ChatModel({...chat}).save();
},

我还测试了一些pubsub的东西,并通过上下文发送。

当使用graphql指令确定角色和权限时,它也很方便:

hasRole(next, src, {roles}, {context}) {
 if (!context) { throw new Error('Must be Authenticated at least.'); }
 let valid  = false;
 roles.forEach((role) => { valid = !valid ? _.includes(context.roles, role) : 
 valid; });
 return valid ? next() : new Error(`Missing correct role to perform this task, you 
 have roles: ${context.roles}`);
},

在Graphql中:

 directive @hasRole(roles: [String]) on FIELD_DEFINITION

 saveChat(chat: ChatSaveInput!): Chat @hasRole(roles: ["admin"])

这大致是基于瑞安·陈基的文章,他已经做了一些关于

 类似资料:
  • 我在这个网站上看到过关于javafx中旋转的问题,但我似乎不太明白。下面是一些代码: 为什么当我改变角度时,矩形开始出现在随机位置?例如,当我将角度设置为 180 时,矩形出现在中间。我的理解是,矩形围绕 X:150 和 Y:225 以指定的角度移动。但是,当我将角度设置为180时,我完全错了。你们能帮帮我吗? 编辑:在阅读和看到回答这个问题的代码时,我想我发现了一个新问题。如何设置pivotX和

  • 我想把变量作为float发送,但是当我像这样尝试的时候 在graphQl中,查询值以字符串形式出现。我得到了这个错误 {“errors”:[{“message”:“variable”$latitude“获得无效值”41.98240048026275 f“;”Float“不能表示非数值:”41.98240048026275 f“;”locations“:[{”line“:1,”column“:96}

  • 在Javafx中旋转图像? 我正在写 但是图像不会相对于图像的中心旋转。

  • 问题内容: 我想知道旋转JavaScript数组的最有效方法是什么。 我想出了这个解决方案,其中一个正数将数组向右旋转,而一个负数向左(): 然后可以使用这种方式: 在下面的评论中指出的那样,我上面的原始版本有一个缺陷,那就是正确的版本(附加返回值允许链接): 是否有可能在JavaScript框架中更紧凑和/或更快速的解决方案?(以下任何一种建议的版本都不会更紧凑或更快速) 有没有内置数组旋转的J

  • 问题内容: 我想在Oracle 11g中旋转一个表。枢纽选项需要汇总。这是我的原始表: 旋转后,表格应如下所示: 现在,如您所见,分组应该在项目列上进行。无需折叠或计算值。只需旋转即可。那么,枢轴选择正确的事情了吗? 问题答案: 是的,我想是这样。使用汇总很容易进行这样的枢轴操作: 否则,您必须在max聚合内执行case语句。像这样: 这几乎和做。但我宁愿做在..

  • 问题内容: 在我完成的设计中,我有一个需要垂直的元素。我已经获得了CSS才能在除IE9之外的所有浏览器中工作。我将过滤器用于IE7和IE8: 但是,这似乎使我的元素在IE9中变得透明,而CSS3的“变形”功能似乎无能为力! 有人知道IE9中旋转元素吗? 非常感谢您的帮助! W. 问题答案: 标准CSS3旋转应在IE9中工作,但我相信您需要为其指定供应商前缀,如下所示: 它可能无法在Beta版本中工