问题标签 [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 投票
2 回答
2658 浏览

graphql - 构建 typedef 时出错 TypeError:无法读取未定义的属性“某些”

在 Apollo Server 中构建 Typedef 时出现以下错误:

我尝试从这里https://github.com/apollographql/apollo-server/issues/2961遵循一些解决方案,但仍然出现错误。

这就是我创建架构的方式:

类型.js

突变.js

index.js

有什么建议么?我会错过什么?

0 投票
1 回答
1792 浏览

graphql - 在 graphql-java-tools 中禁用 GraphQL Introspection

我试图GraphQL在我的项目中禁用 Introspection,并且对我正在使用的特定框架没有太多运气。一些文章说它可以在CcodeRegistry模块中完成,但这是一个只读的反编译源。有没有人通过 GraphQL-java-kickstart框架实现了这一点?

以下是我的 pom 文件中的依赖项:

0 投票
1 回答
135 浏览

node.js - 带有嵌套模式的 GraphQL 返回 null

我试图在 graphql 查询时返回一个 mongodb 文档,但得到空值。没有显示错误。mongodb 查询适用于 mongoshell 或 mongoose。

这是架构、类型定义和解析器:

Mongoshell 查询返回文档:

我怀疑我在解析器功能中做错了什么。我将不胜感激任何建议。

0 投票
0 回答
182 浏览

javascript - GraphQL NodeJS 错误:提供的用于构建模式的类型之一缺少名称

我正在使用 NodeJS 学习 GraphQL,但出现错误。我已经开发了一个用于理解和学习目的的 mongoDB 和 NodeJS GraphQL REST API

在此处输入图像描述

这是我的代码:

请帮助我找到解决方案。回答我以解决此错误。

0 投票
1 回答
124 浏览

graphql - GraphQL 模式拼接选择集中是否禁止使用列表类型的字段?

我有一组看起来像这样的实体:

实体由 type 表示AType。我想在一个单独的子模式中扩展这种类型,并证明可以添加分别从 和 的内容派生其值的oneToOneRelation字段oneToManyRelation

以下架构实现了基于 的派生字段oneToOneRelation,可以正常工作:

但是一旦我添加oneToManyRelation { id }到 selectionSet 我遇到了问题:

我收到以下错误:

当我在aEntities_fromBSchema解析器中记录 keys 参数时,似乎oneToManyRelation根本没有被解析为数组,而是一个(空)对象:

graphql-tools从v开始,是否禁止在键选择集中引用列表类型7.0.2?看起来我实际上可以通过使用在 SDL 之外定义的子模式合并配置来规避这个问题(没有批处理,而是使用argsselectionSet配置参数),但是出于验证/网关的原因,我希望我的所有子模式都包含所有它们的类型合并指令作为 SDL 指令。

NB。这是现实世界问题的简化表示。

Nb2。在现实世界的应用程序中,我的子模式之一是我无法控制的远程 GraphQL 应用程序,因此需要在拼接层中进行一些高级定制。

编辑:只需将以下内容添加到子模式配置的合并选项中似乎可以解决问题。有人知道为什么这似乎不能用 SDL 指令重现吗?(或者这样做的好方法?)

0 投票
1 回答
72 浏览

typescript - 如何使用生成的模式获取 GraphQL 请求上下文

我需要获取身份验证标头并将其传递给我的获取。我找到了几种不同的方法来做到这一点,但想要访问上下文以便我可以抓住它。我看到的所有文档都与生成模式的打字稿方式无关。

所以问题是某人如何在您的查询/突变中获得标头值?

0 投票
1 回答
269 浏览

amazon-web-services - AWS Amplify (AppSync + Cognito) 使用每个组织/租户的动态组进行授权

我有一个具有多组织结构的 AWS Amplify 应用程序:

组织 A -> 组织 A 的内容 组织 B -> 组织 B 的内容

假设我们有用户 Alice,Alice 属于两个组织,但是,她在每个组织中都有不同的角色,在组织 A Alice 是管理员并且拥有更多权限(即:可以删除内容或修改他人的内容),而在组织B 她是普通用户。

出于这个原因,我不能简单地在 Amplify (Cognito) 上设置常规组,因为一些用户,比如 Alice,可以属于不同组织的不同组。

我认为的一个解决方案是为组织和角色的每种组合设置一个组。ie: OrganizationA__ADMIN,OrganizationB__USER等所以我可以使用模型上的组 auth 指令来限制对架构的访问Content

{allow: group, groupsField: "group", operations: [update]},

内容将有一个group带有值的字段:OrganizationA__ADMIN

然后我可以使用Admin Queries API将用户添加到组 但是,似乎不可能动态地将用户添加到组,每次创建新组织时我都必须手动创建每个组,这几乎扼杀了我的想法。

关于如何实现我想要的结果的任何其他想法?我知道我可以添加对代码的限制,但这不太安全,我宁愿在数据库层有这个限制。

0 投票
1 回答
110 浏览

graphql - 如何为 graphQL 模式中的一个字段使用不同的标量类型?

我有一个输入类型,上面写着:

我有一种情况,字段c可以是Stringor 或Boolean. 我如何实现c同时接受 String和的字段Boolean

0 投票
1 回答
344 浏览

graphql - 联合 GraphQL 模式验证

我在我的项目中创建了 3 个微服务并实现了 GraphQL Netflix DGS 联合框架。https://netflix.github.io/dgs/ 作为一家公司,我们拥有来自不同团队的不同微服务的 30 多个模式。但是,如果模式类型名称在不同的微服务中相互重复,我们会在 Apollo 网关中遇到运行时错误。我想知道如何验证模式?是否有任何引擎/库/概念来验证多个微服务等上的联合 GraphQL 模式?我正在检查架构注册表,但看起来它是用于存储架构和版本控制等,而不是完全验证架构。示例架构和错误:服务 1 中的架构:

服务 2 中的模式:

在上述两个模式中,模式类型“Info”在两个微服务中是相同的。通过 ApolloGateway 实现这两个服务后,它抛出运行时错误:“此数据图缺少有效配置。无法组合有效模式。发现以下组合错误:只能有一种名为“信息”的类型

0 投票
1 回答
173 浏览

angular - 放大两种类型@model之间的Mutation连接

我正在尝试将产品对象传递给发票表,所以在我的情况下,我猜它是一对多的,其中一张发票有多个产品。我试图做这样的事情:

架构:

其中为发票生成的架构我只有 id 和日期作为输入,但我还需要编写产品对象。

为 CreateInvoiceInput 生成的架构:

我试图将产品作为请求中的对象传递,但在浏览器上出现错误,即产品未在发票输入中定义。

知道如何解决这个问题吗?