问题标签 [graphql-js]

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 回答
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 回答
858 浏览

reactjs - React Relay 获取列表

我需要获取我有 Schema 的列表

当我使用 curl 进行 graphql 请求并发送

它给了我

有人可以给我举个例子,我如何使用中继来获取它?因为所有的例子都给出了对象,然后像 Store: { teas: [...

0 投票
1 回答
10248 浏览

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

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

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

使用 GraphiQL 的最后一次尝试:

0 投票
3 回答
2729 浏览

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

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

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

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

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

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

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

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

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

0 投票
1 回答
722 浏览

graphql - 使用 Relay 验证用户输入

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

0 投票
1 回答
1986 浏览

rest - 嵌套资源上的 GraphQL 突变

突变是用于操作数据的查询。如果是这样,那么我的root queryroot mutation树应该看起来相似吧?它们都应该允许嵌套字段(嵌套突变)。我正在玩这个(使用express-graphql)并且它有效。

例子:

这是一个有效的例子吗?突变应该像这样嵌套吗?如果不是,我应该如何处理嵌套资源?我找不到任何会改变嵌套资源的真实示例。所有示例仅在第一级(根突变上的字段)上定义突变。

0 投票
3 回答
9513 浏览

javascript - GraphQl 中的动态(唯一)对象

我在看graphql。是否可以定义具有任意属性的对象?假设我有一些数据,例如:

这是在:

假设 editOptions 从不具有相同的结构,有时没有颜色是有用的,只是为了举例。在猫鼬中,可以将类型定义为:

编辑选项:{}

这些 editOptions 通常对于每个框都是唯一的。有些属性是共享的,但大多数是独一无二的。

所以我的问题是,有没有办法做到这一点?或者这是不好的做法,我应该改变我的模型。

谢谢你。

0 投票
1 回答
6755 浏览

javascript - GraphQL/Relay Schema“无法查询字段...”

我在查询 graphql/relay 中的某些字段时遇到问题。我正在尝试在下面的架构中查询 Courses 上的“courseName”字段。

如果我查询用户,例如:

{用户(id:1){名字,姓氏}}

它工作并返回正确的响应。

这是我的架构:

这是我的database.js:

当我尝试查询:

{ 用户 (id:1){courses{courseName}} }

它给了我错误:

“无法在‘CourseConnection’中查询字段‘courseName’”

好像是连接有问题。我也在用 cURL 测试这个查询。因为我想在移动到反应/中继之前测试架构。

我错过了什么?谢谢你。

0 投票
1 回答
5199 浏览

graphql-js - 在 GraphQL 中,如何将嵌套数组指定为字段类型?

在 GraphQL 中,我正在尝试创建 GeoJSON 对象类型。

当我指定 s 的 4 维数组GraphQLFloat时,启动服务器时出现错误:

类型定义如下所示:

如何解决此错误?这是它在源代码中抛出的地方:

https://github.com/graphql/graphql-js/blob/568dc52a4f9cc9bdec4f9283e6e528970af06cde/src/utilities/buildClientSchema.js#L105

0 投票
1 回答
16747 浏览

graphql - 没有子部分的 GraphQL 突变

我想发送不带子部分的 graphql 变异请求

我得到

添加 { id } 以请求工作正常,但我不想要

还有架构代码