问题标签 [graphql-schema]

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

graphql - 如何为 GraphQLString 类型创建别名?

在某些语言中,您可以将字符串等基本类型重命名为其他类型:

它仍然是字符串类型,但现在您可以更好地推理代码。因为不是宇宙中的所有字符串..只是字符串的 UUID 形状。您可以更快地发现错误。

我尝试在graphql中做同样的事情,但它不起作用:

错误是:

当 console.logast我看到这个:

那么我应该在这里有什么代码?我不完全理解我应该返回什么......显然ast.value是不正确的。

甚至可以为基本类型创建别名,如string, int, otherenums等?对象已经正确(特别)命名 - 我发现自己不需要经常重命名它们。

0 投票
1 回答
412 浏览

json - 转换 apollo-datasource-rest 响应结构以适应已经定义的远程模式

我们已经有了远程模式。我们通过使用 apollo-datasource-rest 访问 REST API 来获得 Apollo 数据源响应。json 响应的格式与架构不匹配。任务是转换 json 响应以匹配模式并根据用户查询返回结果。如何做到这一点?

例如 REST API 响应:

我们的远程 graphql 模式:

非常感谢任何想法或帮助或源代码。再次感谢。

0 投票
1 回答
808 浏览

graphql - GraphQL - 联合类型给出错误 no class could be found for that type name

在我的 GraphQL 模式文件中,我试图添加一个联合类型,如下所示:

然后我将它分配给我的类型,如下所示:

但是,在启动 graphql 服务器时,我不断收到错误消息:

这到底是什么以及如何将此类添加到解析器的字典中?

任何帮助表示赞赏。

谢谢。

0 投票
1 回答
4565 浏览

graphql - 在输入可以采用不同类型的地方制作 Graphql 输入

我想创建突变 api,其中输入可以是不同的类型,比如我们在类型中拥有的接口。我知道我们不能在输入类型中有接口,我想知道我们如何在一个输入中支持多种输入类型。为了解释这个问题,我使用了一个虚拟示例:

现在,如果我们想为它编写 api,我将不得不为每种类型编写 api

我用这种方法遇到的问题是:

  1. 我将不得不编写很多 api,假设如果我支持 20 种动物,那么我将不得不编写 20 个创建 api。但是我不喜欢用户有这么多的 api,我希望用户应该看到很少的 api。
  2. 假设我们支持 20 种动物,用户如何知道所有动物都支持什么,他们必须在 API Explorer 中查看我们支持的所有 api。

我正在寻找的解决方案是我只有一个 api :

由于目前没有接口支持,公司如何实现可以是多种类型的输入?如何定义输入,以便我只能在 api 中提供一个输入?

我已阅读此建议,但它涉及定义注释,我目前正在尝试。我想看看其他人是如何解决这个问题的。

编辑:看起来现在在这个主题上做了很多工作https://github.com/graphql/graphql-spec/pull/733并且该功能将很快推出。

0 投票
1 回答
316 浏览

graphql - 有没有办法可以从不同的 gql 文件中声明类型?

我一直在努力使这个工作。我目前正在学习 Apollo Server 和 GraphQL。我去了不同的文档,但似乎找不到答案。这就是我想要做的。

我有usertypes.js,这是代码片段:

在我的logintypes.js上:

任何帮助表示赞赏。我不想尽可能在​​我的logintypes.js中再次声明我的类型 User 。

先感谢您。

0 投票
1 回答
127 浏览

graphql - 为来自具有对象数组的 API 的响应创建 graphql 模式

我从一个看起来像这样的 Api 得到响应:

我想要地址对象中一些指定字段的列表,例如只是国家和 oneLine,但是对于属性的每个索引

大批

我已经为如何在我的 graphql 架构页面中为此编写架构而苦苦挣扎了 2 天。有人能帮帮我吗?

这是我一直在尝试但不断获得数据的空值

0 投票
1 回答
2235 浏览

graphql - 如何从 Apollo Server 端点获得完整的 GraphQL 架构?

我正在使用 Apollo Server 在 GraphQL 和 REST 服务之间编写一个 GraphQL 接口。该接口将为 Apollo 客户端前端提供单个 GraphQL 端点。

目前的单一服务是 KeystoneJS 应用程序,它通过(据我所知)Apollo Server 提供 GraphQL 端点。为了暂时保持简单,我从 KeystoneJS 服务器 GraphQL Playground 下载 GraphQL 模式,并将其用作我界面的 GraphQL 模式(在删除 Keystone 生成且 Apollo Server 不理解的定义之后)。

我想自动化这个过程——也就是说,以某种方式“获取”KeystoneJS/Apollo Server 生成的 GraphQL 模式,就像我要从 GraphQL Playground 下载它一样。有没有办法从端点做到这一点?(我不想接触 KeystoneJS 内部,只需通过端点访问模式)

0 投票
1 回答
143 浏览

graphql - 将 GraphQL 模式中的联合声明拆分为多行

我有一个 GraphQL 模式,它有一个已经有很多类型的联合声明,例如:

union SectionUnion = SectionForm | Section2 | Section3 | Section4 | Section5

我知道会有更多的部分即将到来(尚未添加),并且在某些时候联合声明将变得不可读,因为这将是一条很长的行。

有没有办法将类型放在多行中,每行一种类型?

0 投票
1 回答
204 浏览

graphql - Graphql 架构设计最佳实践

我在下面有一个问题:

假设我有这样的产品类型

如果我有这样的模式,每次我需要产品选项(我从请求中获得 productID)时,我都需要查询整个产品(带有 id、name、price),我将对数据库进行 2 个 Mysql 查询(1 到获取产品和 1 获取产品选项)。

我是否应该在这样的查询对象中有一个额外的独立字段来获取基于 productID 的产品选项?如果我需要像上面一样保留嵌套模式,有没有办法在不执行它的父(产品)解析器的情况下获得产品选项?

谢谢

0 投票
2 回答
943 浏览

graphql - GraphQL 将带有参数的新类型连接注册到数据获取器

拥有 GraphQL 架构:

我应该如何独立于源对象类型实现 TypeC 接线?我知道我可以做到:

但随后数据获取器依赖于源对象类型:

鉴于 POJO(TypeA 和 TypeB)都具有对 TypeC 的引用字段,如何通过给定的引用而不是源对象来解析 TypeC 字段?