问题标签 [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.
graphql - 如何为 GraphQLString 类型创建别名?
在某些语言中,您可以将字符串等基本类型重命名为其他类型:
它仍然是字符串类型,但现在您可以更好地推理代码。因为不是宇宙中的所有字符串..只是字符串的 UUID 形状。您可以更快地发现错误。
我尝试在graphql中做同样的事情,但它不起作用:
错误是:
当 console.logast
我看到这个:
那么我应该在这里有什么代码?我不完全理解我应该返回什么......显然ast.value
是不正确的。
甚至可以为基本类型创建别名,如string
, int
, otherenums
等?对象已经正确(特别)命名 - 我发现自己不需要经常重命名它们。
json - 转换 apollo-datasource-rest 响应结构以适应已经定义的远程模式
我们已经有了远程模式。我们通过使用 apollo-datasource-rest 访问 REST API 来获得 Apollo 数据源响应。json 响应的格式与架构不匹配。任务是转换 json 响应以匹配模式并根据用户查询返回结果。如何做到这一点?
例如 REST API 响应:
我们的远程 graphql 模式:
非常感谢任何想法或帮助或源代码。再次感谢。
graphql - GraphQL - 联合类型给出错误 no class could be found for that type name
在我的 GraphQL 模式文件中,我试图添加一个联合类型,如下所示:
然后我将它分配给我的类型,如下所示:
但是,在启动 graphql 服务器时,我不断收到错误消息:
这到底是什么以及如何将此类添加到解析器的字典中?
任何帮助表示赞赏。
谢谢。
graphql - 在输入可以采用不同类型的地方制作 Graphql 输入
我想创建突变 api,其中输入可以是不同的类型,比如我们在类型中拥有的接口。我知道我们不能在输入类型中有接口,我想知道我们如何在一个输入中支持多种输入类型。为了解释这个问题,我使用了一个虚拟示例:
现在,如果我们想为它编写 api,我将不得不为每种类型编写 api
我用这种方法遇到的问题是:
- 我将不得不编写很多 api,假设如果我支持 20 种动物,那么我将不得不编写 20 个创建 api。但是我不喜欢用户有这么多的 api,我希望用户应该看到很少的 api。
- 假设我们支持 20 种动物,用户如何知道所有动物都支持什么,他们必须在 API Explorer 中查看我们支持的所有 api。
我正在寻找的解决方案是我只有一个 api :
由于目前没有接口支持,公司如何实现可以是多种类型的输入?如何定义输入,以便我只能在 api 中提供一个输入?
我已阅读此建议,但它涉及定义注释,我目前正在尝试。我想看看其他人是如何解决这个问题的。
编辑:看起来现在在这个主题上做了很多工作https://github.com/graphql/graphql-spec/pull/733并且该功能将很快推出。
graphql - 有没有办法可以从不同的 gql 文件中声明类型?
我一直在努力使这个工作。我目前正在学习 Apollo Server 和 GraphQL。我去了不同的文档,但似乎找不到答案。这就是我想要做的。
我有usertypes.js,这是代码片段:
在我的logintypes.js上:
任何帮助表示赞赏。我不想尽可能在我的logintypes.js中再次声明我的类型 User 。
先感谢您。
graphql - 为来自具有对象数组的 API 的响应创建 graphql 模式
我从一个看起来像这样的 Api 得到响应:
我想要地址对象中一些指定字段的列表,例如只是国家和 oneLine,但是对于属性的每个索引
大批
我已经为如何在我的 graphql 架构页面中为此编写架构而苦苦挣扎了 2 天。有人能帮帮我吗?
这是我一直在尝试但不断获得数据的空值
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 内部,只需通过端点访问模式)
graphql - 将 GraphQL 模式中的联合声明拆分为多行
我有一个 GraphQL 模式,它有一个已经有很多类型的联合声明,例如:
union SectionUnion = SectionForm | Section2 | Section3 | Section4 | Section5
我知道会有更多的部分即将到来(尚未添加),并且在某些时候联合声明将变得不可读,因为这将是一条很长的行。
有没有办法将类型放在多行中,每行一种类型?
graphql - Graphql 架构设计最佳实践
我在下面有一个问题:
假设我有这样的产品类型
如果我有这样的模式,每次我需要产品选项(我从请求中获得 productID)时,我都需要查询整个产品(带有 id、name、price),我将对数据库进行 2 个 Mysql 查询(1 到获取产品和 1 获取产品选项)。
我是否应该在这样的查询对象中有一个额外的独立字段来获取基于 productID 的产品选项?如果我需要像上面一样保留嵌套模式,有没有办法在不执行它的父(产品)解析器的情况下获得产品选项?
谢谢
graphql - GraphQL 将带有参数的新类型连接注册到数据获取器
拥有 GraphQL 架构:
我应该如何独立于源对象类型实现 TypeC 接线?我知道我可以做到:
但随后数据获取器依赖于源对象类型:
鉴于 POJO(TypeA 和 TypeB)都具有对 TypeC 的引用字段,如何通过给定的引用而不是源对象来解析 TypeC 字段?