问题标签 [express-graphql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
600 浏览

javascript - GraphQL 突变只返回一个结果

我刚开始学习 GraphQL,做了一个简单的例子。我有这个架构

当我尝试添加新大陆时,我可以在数据库中看到记录已存储

但是在 GrapiQL 中执行 addContinent 突变时

我看不到嵌套的嵌套结果,country_to_show我在结果查询中只得到一个国家名称,而不是我保存的两个,不明白为什么?

我相信这与country_to_show在 ContinentType 中搜索数据库中的单个国家/地区这一事实有关,但即使在运行我得到的突变时尝试在结果查询中返回国家/地区列表时,我也无法确定解决方案null

0 投票
2 回答
1104 浏览

node.js - 安装 graphql-tools 和 graphql-express 之后。控制台'找不到名称'AsyncIterator'中的错误消息

启动应用程序时错误登录

在启动应用程序时,它显示以下错误,我尝试了下面提到的在线修复,但没有一个可以请求建议和解决方案

根据谷歌结果尝试修复

  1. 添加esnext.asynciterabletsconfig.json
  2. 添加esnexttsconfig.json

但它们都没有奏效。 包.json

0 投票
1 回答
415 浏览

node.js - 如何在保持对请求对象的访问的同时对 express-graphql 解析器进行依赖注入?

我在我的 nodejs 应用程序中使用 express-graphql。

为了从解析器访问数据库,我创建了一个名为的对象ProjectHandler(它处理数据库中名为 的表),并通过在创建实例时projects更改将其注入解析器,如下所示:contextexpress-graphql

问题是,这将默认上下文替换为请求对象的表示,从而阻止我访问会话信息。

问题是,我需要会话信息和项目处理程序。我怎么做?

0 投票
1 回答
2098 浏览

node.js - GraphQL 错误:必须提供名称

我正在为 NodeJS 中的登录用户编写突变。

它给出错误“必须提供名称”。

这是浏览器 GraphQL 查询:

这是我的代码

谁能帮我弄清楚为什么它会出错?

提前致谢。

0 投票
0 回答
203 浏览

node.js - uncaughtException - GraphQLError:请求无效

我尝试做的是在用户登录失败时使用 GraphQLError 添加自定义消息。

这是 app.js 文件中的 GraphQL 端点代码:

这是突变逻辑代码:

这是 ValidationError.js 文件代码:

我正在尝试执行以下 GraphQL 突变查询:

它在 GraphQL 窗口中给我输出

终端中出现未捕获的异常错误:

为什么它给我未捕获的异常错误?请帮忙

提前致谢。

0 投票
2 回答
7741 浏览

graphql - 如何使用 GraphQLError 自定义消息传递?

我正在尝试使用 GraphQLError 自定义消息传递。

我想用 GraphQL 错误处理的用例很少:

  • 当用户名和密码不匹配时,我想返回自定义用户名和密码不匹配的消息。

  • 当用户输入无效的电子邮件时,我想返回自定义输入的电子邮件无效的消息。

  • 以及其他一些用例。

我创建了一个 ValidateError.js 文件来使用 GraphQLError 处理函数:

这是我的应用程序索引文件 app.js 的代码:

我的问题是如何使用这个函数来获取 graphQLError

格式错误

提前致谢。

0 投票
0 回答
1489 浏览

graphql - 参数排序以在 express-graphql 中获取上下文

我正在使用 GraphQL 并尝试在解析器层中获取请求和响应对象。目前,我正在使用 express-graphql。我遵循了 apollo-server 的参考资料并尝试应用相同的

https://github.com/apollographql/apollo-server/issues/420https://graphql.org/learn/execution/

但是,在解析器层中,我得到了不匹配订单的值。参数 obj 具有我们需要获取数据的输入,args 具有请求和响应,上下文具有字段节点、路径、模式等,并且 info 显示为未定义。

  1. 我不确定 express-graphql 是否遵循不同的顺序,或者 GraphQLHttp 是否以不同的顺序将参数发送到解析器,以及使用 obj 参数的正确方法。
  2. 如何在解析器层中设置标题

代码:

0 投票
1 回答
1020 浏览

express - 升级到 apollo-server-express 2.0.0 缺少上下文

在升级之前我们有

在我们的解析器中,我们可以获得 req 并设置 req.session.token 如下,

但是随着升级到 2.0.0 版,代码更改为以下代码,我不确定如何修复 CustomResolver,设置会话令牌,知道如何完成上述操作吗?

0 投票
1 回答
513 浏览

reactjs - 如何访问 graphQL 中具有特定属性的所有元素?

我在名为 countryData.json 的文件中有一些 json 数据,其结构如下:

我正在使用 graphQL 来访问这些数据。我使用以下方法在国家/地区的架构中创建了一个对象类型:

我想编写一个查询,允许我访问该数组中具有特定“名称”值的所有元素(可以有多个具有相同名称的元素)。我编写了以下查询,但它只返回数组中的第一个匹配项:

“_”来自const _ = require('lodash');

另外,我怎样才能得到数组中的每一个项目?

0 投票
2 回答
127 浏览

graphql - 数据加载器 facebook 优化

大家!我正在尝试在我的 graphql 项目中使用 Facebook 的 Dataloader。所以,现在我面临下一个问题。当我通过 id 向我的数据库询问数据时,例如:select * from books where books.author in (4,5,6,7) 我得到一个错误:“函数没有返回一个长度相同的数组的承诺键数组”。因为 id 4 我可以拿到更多的书,而不仅仅是一本书。有人知道如何解决吗?