问题标签 [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.
javascript - 中继/ graphql:可为空的响应或捕获查询错误的方法
在 relay/graphql 中,如何表达一个响应可以为空的查询。我现在有一个难题,我不能用空/空响应来响应,因为id
中继需要字段(可能还有 graphql 模式中的其他不可为空的字段),并且我不能发送错误,因为它会阻止我的组件被渲染.
例如,假设我正在建模一个关系层次结构并且有一个类似的查询
getSpouse(partnerID: string): Person
这对某些人来说可能是空的。因此,我要么使用 null Person 对象进行响应(我认为中继不太可能,因为 Person 可能具有包括 globalID 在内的不可为空的字段),或者发送错误。可以发送错误,但我不确定如何捕获此错误并继续渲染中继容器。我知道在发生突变的情况下很容易出错,但是查询是由中继容器处理的,并且看不到一个接口来获取错误并继续加载组件。
有没有办法在中继容器中捕获查询错误或将其传递给我的组件?
javascript - “connectionArgs”中继js的附加参数
例如我有连接类型:
在这种情况下,在查询中我只能指定(第一个,最后一个,之后,之前)参数,但是如果我需要传递一些额外的参数,比如用户名等,这可能吗?
基本上我需要类似的东西:
在用户类型中,我可以处理如下请求:
graphql - 如何使用 isValidJSValue 验证客户端代码中的查询变量?
我正在为将查询 GraphQL 服务器的应用程序编写客户端代码。在我的代码中的几个地方,我正在传递最终将变成查询变量的数据,因此它需要针对GraphQLInputType
我的模式中的特定对象进行验证。在查看 graphql-js 提供的一些实用程序时,看起来isValidJSValue
检查器正是我正在寻找的东西,它的评论甚至提到它旨在用于执行此操作。
问题是我无法访问要作为 JS 对象验证的 GraphQL 类型,我很确定该函数正在寻找它。我将我的模式(作为 npm 依赖项)导入为 JSON,或者我也有它的模式表示法。是否有其他实用程序可以用来从其中一个来源获取我需要的 JS 类型,然后使用它来检查我的数据isValidJSValue
?还是有其他我没有想到的方法可以解决这个问题?
graphql - 通过 setVariables 中继请求
当通过 setVariables 发出请求时,有没有办法考虑异步请求之间的本地状态,即实现加载指示器?
向https://www.graphqlHub.com/graphql提出请求的插图
这不会跟踪加载状态,并且加载将立即传递给 false,而对视图的异步更改将有延迟。
如果我们将加载移动到 setVariables 有没有办法跟踪响应?在根容器中,可以通过以下方式跟踪响应
有没有类似的方法Relay.createContainer
使用 setVariables 浏览数据集是不好的做法吗?
完整代码
mongodb - GraphQL 和 MongoDB 游标
我对 GraphQL 的游标和 MongoDB 的游标之间应该有什么关系感到困惑。
我目前正在研究创建对象(mongo 文档)并将其添加到现有连接(mongo 集合)的突变。添加对象时,突变返回添加的边缘。应该是这样的:
虽然 node 是实际添加的文档,但我对应该作为光标返回的内容感到困惑。
这是我的突变:
谢谢!
javascript - 如何从 GraphQL 突变中访问 variableValues?
下面我有一个query
requestString
和一个mutation
requestString
。
两个查询都运行,我正在记录这两种resolve
方法。
问题:
- 如何
{name: 'Thomas'}
从variableValues
处理resolve
程序访问mutation
? - 由于某种原因,传递给处理
resolve
程序的第二个参数是require
它本身。这是为什么?
代码:
结果:
authentication - Relay 和 GraphQL 中的身份验证
我一直在使用 react 和 relay 开发一个应用程序,现在我一直在实施身份验证。
我知道您可以通过 GraphQL 解析函数中可用的上下文将值传递给每个 graphql 请求。
我对传递什么以及如何传递更加困惑。
使用 JSON Web 令牌、护照或其他东西会更好吗?我应该如何为用户传递标识符?
基本上我要问的是,什么最适合中继:jwt,护照,其他什么?以及如何将其与继电器连接起来。谢谢!
facebook - GraphQL Relay 关系和变异
我对 GraphQL-Relay 中的关系感到非常困惑。当它大约是一对多时,它看起来非常简单。我创建了一些connectionDefinitions,它工作得很好。但是我有以下情况,我想创建/更新下面的模型。
我应该在我的 GraphQL Schema 中创建与 User 和 Item 的连接吗?
如果我查看“RANGE_ADD”的配置,它会显示 parentName 和 parentId,但在我的情况下,我有多个父母。我的 getConfigs 数组中是否应该有两个对象配置(每个父对象一个)?
我可以在没有连接的情况下创建和更新此对象吗?
谢谢
javascript - GraphQL js 文件上传
我看到了 Relay 的一些示例,但我将 graphQL 与 Apollo 一起使用,但找不到任何示例或文档如何通过突变处理 GraphQL 中的文件上传?
graphql - GraphQL:如何实现 GraphQLObjectTypes 的 GraphQLList
我对 GraphQL 有疑问(特别是实现 GraphQLList)
我有一个getItemByName
正确返回Item
, 和 Type的查询itemType
。但是我无法实现一个getItemList
(或者一个适当的例子顺便说一句)。我知道它应该有一个实现 GraphQLList 的类型。
但我做得对吗?resolve
应该接收什么数据格式?(或者getItems()
应该返回)。对象数组?这些对象是否应该实现“itemType”定义?是否应该实现接口?
就像现在一样,查询:
它的回归:
真的很欢迎任何帮助!:D
问候!