问题标签 [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 回答
894 浏览

graphql - 使用 graphql-js 的相关 Http 响应代码

好的,事情就是这样,我正在尝试弄清楚如何使用 graphql-js 处理错误。(在没有继电器的情况下)

不够具体!?好的,因为 graphql-js 正在捕获解析函数中抛出的所有错误,所以我对如何正确处理错误和 http 响应有点困惑。

所以我没有什么想法,想知道你的想法!

  1. 即使包含错误,也始终使用 graphql 响应返回 200 OK。(不喜欢那个)

  2. 在 result.errors[0] 上切换大小写并针对错误返回 http 响应,如果没有错误则返回 result.data。(这最终可能是一个非常长的开关盒)

    • 处理 resolve 函数和 throw 和 object 中的错误处理(例如{ httpCode: 404, msg: 'No X found with the requested id' }

    • 在 express app.post 函数(或任何 Web 框架)中,具有以下内容:

      /li>

    由于错误对象的编组方式,这目前不起作用......或者至少我还没有找到如何将它从 graphql 中取出。我正在考虑可能会研究 graphql-js 源,但我想我最好先问你们,因为我可能会遗漏一些明显的东西。

显然,欢迎有更好的主意!

干杯:D

0 投票
2 回答
992 浏览

reactjs - Relay.js 中的根查询创建和删除

我试图弄清楚如何在没有父节点的情况下使用 Relay 创建和删除节点。似乎NODE_DELETE/RANGE_DELETERANGE_ADD都需要一个父节点。有没有办法从 Relay.js 中的根查询对象执行创建和删除突变?

注意:我确实找到了可以使用 FIELDS_CHANGE 查询执行创建的示例,但它们缺少任何文档或原因。

0 投票
1 回答
5395 浏览

reactjs - 在 Relay 中,节点接口和全局 ID 规范起什么作用?

relay-starter-kit我从Relay 和 GraphQL 文档开始,并且一直在研究。但有不少领域是无法解释和神秘的。

说真的,我到处阅读了很多关于所有这些事情的文档,但找不到对以下问题的任何令人满意的解释:

这个是来做什么的?我放了日志,但它甚至根本没有被调用:

而这样做的实际效果是什么:

也许与此有关,node这里的字段是做什么的:

该领域的魔力是什么id?是globalIdField为了什么?

我的数据库中有一个id,并认为我可以在我的 GraphQL 对象中使用它:

代替:

我想使用我的数据库 ID:

但如果我这样做,我会在浏览器中收到错误提示RelayQueryWriter: Could not find a type name for record '1'

我可以通过添加到我的组件容器 Relay Query 来消除该错误,__typename但这似乎完全错误。

如果您能在这里提供更深入的内容和更好的解释并增强官方文档,那就太好了。

谢谢

0 投票
1 回答
1510 浏览

reactjs - 从 Relay 容器中将参数传递给顶级字段

假设我country在 GraphQL 架构的顶层定义了一个名为的字段。我可以通过以下方式查询它:

在我的中继容器中,我可以指定我希望返回的属性和片段Country

如何alpha2从我的反应组件中更改参数的值?我可以将该字段嵌套country在某个任意字段下,并在父级上声明我的中继片段,但如果可能的话,我宁愿避免不必要地修改我的图表。

0 投票
0 回答
756 浏览

react-native - 错误:在 react-native 中获取 graphql 查询时未找到合适的请求处理程序

我试图在 react-native 中获取 graphql 服务,但它给出了一个错误没有为 graphql url 找到合适的请求处理程序 在此处输入图像描述

我写了这样的代码来获取

任何人都可以告诉我我的代码有什么问题吗,给我一些建议,告诉我如何在 react-native 中获取 graphql 查询,非常感谢任何帮助

0 投票
2 回答
1280 浏览

graphql - 你可以使用 GraphQL 创建记录吗?

GraphQL 是否具有操作记录的能力(即 POST/PUT/PATCH/DELETE)?如果不需要,GraphQL 是否需要与 RESTful API 结合来创建/修改记录?

0 投票
1 回答
10248 浏览

reactjs - 使用 GraphiQL 或 GraphQL 端点生成 schema.json

我在创建可以使用 babel-relay-plugin 解析而不会遇到错误的 schema.json 文件时遇到问题。查看中继的示例文件夹中包含的schema.json文件,我尝试在 GraphiQL 中复制查询,但似乎无法正确处理。我使用Laravel作为后端。这是我可以通过 GraphiQL 完成还是向 GraphQL 端点发送请求并保存响应?

尝试解析 schema.json 文件时发生的错误:

使用 GraphiQL 的最后一次尝试:

0 投票
1 回答
826 浏览

immutable.js - 带有 Relay-GraphQL 突变的 undo-redo 状态遍历模式

使用 Immutable 和 Flux 实现实现撤消/重做功能基本上是微不足道的。这部分是由于 Immutable 使得值传递成为可能,部分是由于使用 Flux 的浏览器/内存特性。

然而,用 Relay-GraphQL 突变来概念化这一点并不明显。是否有任何已知的模式可以简化这一点?

0 投票
3 回答
2729 浏览

javascript - 使用中继的身份验证和访问控制

Facebook 的官方说法是 Relay “故意不知道身份验证机制”。在 Relay 存储库中的所有示例中,身份验证和访问控制是一个单独的问题。在实践中,我还没有找到一种简单的方法来实现这种分离。

Relay 存储库中提供的示例都具有根模式,其中包含一个viewer假设有一个用户的字段。该用户可以访问所有内容。

然而,实际上,一个应用程序有很多用户,每个用户对每个节点的访问程度都不同。

假设我在 JavaScript 中有这个模式:

从查询用户的角度来看,一些用户是完全私有的。其他用户可能只向查询用户公开某些字段。因此,要获得用户,客户端不仅必须提供他们正在查询的用户 ID,而且还必须标识自己,以便进行访问控制。

这似乎很快变得复杂,因为控制访问的需要在图表中逐渐减少。

此外,我需要控制每个根查询的访问,例如nodeField. 我需要确保每个节点都实现nodeInterface.

所有这些似乎都是重复性的工作。是否有任何已知的模式可以简化这一点?我想错了吗?

0 投票
1 回答
722 浏览

graphql - 使用 Relay 验证用户输入

从外观上看,使用 Relay 进行验证的最佳方法似乎是在您的模式中使用自定义 GraphQL 标量类型。是这样吗?