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

javascript - 中继/ graphql:可为空的响应或捕获查询错误的方法

在 relay/graphql 中,如何表达一个响应可以为空的查询。我现在有一个难题,我不能用空/空响应来响应,因为id中继需要字段(可能还有 graphql 模式中的其他不可为空的字段),并且我不能发送错误,因为它会阻止我的组件被渲染.

例如,假设我正在建模一个关系层次结构并且有一个类似的查询

getSpouse(partnerID: string): Person

这对某些人来说可能是空的。因此,我要么使用 null Person 对象进行响应(我认为中继不太可能,因为 Person 可能具有包括 globalID 在内的不可为空的字段),或者发送错误。可以发送错误,但我不确定如何捕获此错误并继续渲染中继容器。我知道在发生突变的情况下很容易出错,但是查询是由中继容器处理的,并且看不到一个接口来获取错误并继续加载组件。

有没有办法在中继容器中捕获查询错误或将其传递给我的组件?

0 投票
1 回答
711 浏览

javascript - “connectionArgs”中继js的附加参数

例如我有连接类型:

在这种情况下,在查询中我只能指定(第一个,最后一个,之后,之前)参数,但是如果我需要传递一些额外的参数,比如用户名等,这可能吗?

基本上我需要类似的东西:

在用户类型中,我可以处理如下请求:

0 投票
1 回答
311 浏览

graphql - 如何使用 isValidJSValue 验证客户端代码中的查询变量?

我正在为将查询 GraphQL 服务器的应用程序编写客户端代码。在我的代码中的几个地方,我正在传递最终将变成查询变量的数据,因此它需要针对GraphQLInputType我的模式中的特定对象进行验证。在查看 graphql-js 提供的一些实用程序时,看起来isValidJSValue检查器正是我正在寻找的东西,它的评论甚至提到它旨在用于执行此操作。

问题是我无法访问要作为 JS 对象验证的 GraphQL 类型,我很确定该函数正在寻找它。我将我的模式(作为 npm 依赖项)导入为 JSON,或者我也有它的模式表示法。是否有其他实用程序可以用来从其中一个来源获取我需要的 JS 类型,然后使用它来检查我的数据isValidJSValue?还是有其他我没有想到的方法可以解决这个问题?

0 投票
2 回答
240 浏览

graphql - 通过 setVariables 中继请求

当通过 setVariables 发出请求时,有没有办法考虑异步请求之间的本地状态,即实现加载指示器?

向https://www.graphqlHub.com/graphql提出请求的插图

这不会跟踪加载状态,并且加载将立即传递给 false,而对视图的异步更改将有延迟。

如果我们将加载移动到 setVariables 有没有办法跟踪响应?在根容器中,可以通过以下方式跟踪响应

有没有类似的方法Relay.createContainer

使用 setVariables 浏览数据集是不好的做法吗?

完整代码

0 投票
1 回答
425 浏览

mongodb - GraphQL 和 MongoDB 游标

我对 GraphQL 的游标和 MongoDB 的游标之间应该有什么关系感到困惑。

我目前正在研究创建对象(mongo 文档)并将其添加到现有连接(mongo 集合)的突变。添加对象时,突变返回添加的边缘。应该是这样的:

虽然 node 是实际添加的文档,但我对应该作为光标返回的内容感到困惑。

这是我的突变:

谢谢!

0 投票
1 回答
818 浏览

javascript - 如何从 GraphQL 突变中访问 variableValues?

下面我有一个query requestString和一个mutation requestString

两个查询都运行,我正在记录这两种resolve方法。

问题:

  1. 如何{name: 'Thomas'}variableValues处理resolve程序访问mutation?
  2. 由于某种原因,传递给处理resolve程序的第二个参数是require它本身。这是为什么?

代码:

结果:

0 投票
2 回答
2805 浏览

authentication - Relay 和 GraphQL 中的身份验证

我一直在使用 react 和 relay 开发一个应用程序,现在我一直在实施身份验证。

我知道您可以通过 GraphQL 解析函数中可用的上下文将值传递给每个 graphql 请求。

我对传递什么以及如何传递更加困惑。

使用 JSON Web 令牌、护照或其他东西会更好吗?我应该如何为用户传递标识符?

基本上我要问的是,什么最适合中继:jwt,护照,其他什么?以及如何将其与继电器连接起来。谢谢!

0 投票
1 回答
588 浏览

facebook - GraphQL Relay 关系和变异

我对 GraphQL-Relay 中的关系感到非常困惑。当它大约是一对多时,它看起来非常简单。我创建了一些connectionDefinitions,它工作得很好。但是我有以下情况,我想创建/更新下面的模型。

我应该在我的 GraphQL Schema 中创建与 User 和 Item 的连接吗?

如果我查看“RANGE_ADD”的配置,它会显示 parentName 和 parentId,但在我的情况下,我有多个父母。我的 getConfigs 数组中是否应该有两个对象配置(每个父对象一个)?

我可以在没有连接的情况下创建和更新此对象吗?

谢谢

0 投票
1 回答
1168 浏览

javascript - GraphQL js 文件上传

我看到了 Relay 的一些示例,但我将 graphQL 与 Apollo 一起使用,但找不到任何示例或文档如何通过突变处理 GraphQL 中的文件上传?

0 投票
3 回答
2416 浏览

graphql - GraphQL:如何实现 GraphQLObjectTypes 的 GraphQLList

我对 GraphQL 有疑问(特别是实现 GraphQLList)

我有一个getItemByName正确返回Item, 和 Type的查询itemType。但是我无法实现一个getItemList(或者一个适当的例子顺便说一句)。我知道它应该有一个实现 GraphQLList 的类型。

但我做得对吗?resolve应该接收什么数据格式?(或者getItems()应该返回)。对象数组?这些对象是否应该实现“itemType”定义?是否应该实现接口?

就像现在一样,查询:

它的回归:

真的很欢迎任何帮助!:D

问候!