问题标签 [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 - 使用 n-deep 包装器类型堆栈获取模式
我正在通过 GraphQL 从数据库中获取数据。有两种类型:Group
和Person
。组有一个字段people
,它是一个Person
对象列表。
我正在尝试使用 GraphQL 的内置introspection从服务器获取模式。我遇到的问题是该people
字段是一个不可为空的类型,它包含一个包含一个不可为空类型的列表类型,我必须使用这个冗长的查询:
要获取此架构:
除了不方便且难以阅读的查询之外,它不是通用的,我必须知道架构中包装器类型的最大深度才能构造它。
有没有办法在模式中获取所有包装器类型,无论深度如何?
ruby-on-rails - Graphql-ruby 如何将哈希定义为类型
是否有可能在 graphql-ruby 模式中将 Hash 定义为 Type 字段?在我的数据结构中有一个多语言字符串类型,它由作为键的语言代码和相应的文本组成。目前提供了 2 种语言,例如:
所以构建这样的类型就足够了:
提供 String 到 String 的 Map 的类型是什么样子的?相应的 typescript 界面如下所示:
更进一步,比如递归节点:
有没有办法在字段中使用它作为 graphql-ruby 模式中的 Types::NodeDescriptionType ?
graphql - 来自不受控制的 API 的 GraphQL 模式语言处理映射类型
假设我们正在使用我们无法控制的 API。该 API 返回一个映射货币/价格对的数组,如下所示:
如何在 GraphQL 模式中对此进行建模?
注意:此数据到达客户端的格式并不重要。例如,它可能是这样的:
graphql - GraphQL 模式 - 是否可以在自定义类型字段上设置约束
这是我使用的 GraphQL Schema 的简化片段。有 - 一个枚举,类型 Contributor 和类型 Review。
我想描述的是,“作者”字段不仅仅是贡献者类型的数组,而是具有特定工作角色的贡献者。在伪代码中它看起来像
有没有办法在 GraphQL Schema 中描述这个约束?
graphql - 订阅的 GraphQLObjectType
我使用 Express 实现了一个 GraphQL 服务器,但我在设置 GraphQL 订阅类型时遇到了问题。
我正在开发一个实时聊天应用程序,并试图在创建新消息后发布一个事件,但我不明白我应该如何为订阅创建一个 GraphQLObjectType。
我尝试使用“graphql-subscriptions”中的 PubSub 和 WithFilter,但我不知道该怎么做。
这是我创建的 MessageType:
和 sendMessage 突变:
node.js - 使用 ApolloServer 从 graphql-import 迁移到仅 graphql-tools 时遇到问题,指令停止工作
我的困境始于将我的 graphql 模式从单个 .graphql 文件扩展到多个文件的简单愿望,这样我就可以更好地组织模式,因此它不会发展成一个失控的巨大文件。
我的原始布局非常简单,我在schema.graphql
文件中有一个工作模式。我将能够使用importSchema('server/schema.graphql')
graphql-import 库将其解析为字符串,该库现已弃用https://github.com/ardatan/graphql-import
他们提到它已合并到graphql-tools
最新版本中并在此处提供迁移教程https://www.graphql-tools.com/docs/migration-from-import该教程似乎非常简单,因为他们的第一个示例几乎说明了正是我的代码的样子(除了我不使用 es6 import 但老式要求):
然后他们说要修改它,只需进行这些更改
我进行了这些更改,但重要的区别是它们不再makeExecutableSchema()
在他们的示例中使用,这对我来说非常重要,因为我需要包含指令。我现在用架构做什么?我如何声明指令?他们的指令文档仍在使用makeExecutableSchema
,但我不能再使用它了,因为新loadSchemaSync
函数返回一个对象而不是我需要传递给的字符串typeDefs
文字makeExecutableSchema
我正在使用 apollo-server,所以似乎一种可能的解决方法是在 apollo-server 构造函数中声明指令,然后将这个新schemaWithResolvers
的作为模式传递
这允许我的服务器运行,并且我可以执行查询和突变,但是,我的指令不再起作用,并且我不再对受保护的查询进行身份验证。
我想要一种方法来导入我的 .graphql 文件并将其解析为字符串,这样我就可以typeDefs
像以前使用 importSchema() 一样在内部使用它,或者在不使用 makeExecutableSchema() 的情况下声明我的指令,以便它们继续工作!
我已经浏览了文档并查看了其他库,到目前为止我一直很短,非常感谢任何提示或指导
graphql-java - 如何将 JSONObject 值分配给 graphql 模式文件中的字段?
我正在使用 graphQL 和 spring boot 框架开发一个应用程序。在这里,我使用 GraphQL 的 Schema-first 方法来编写我的模式详细信息。在我的场景中,我需要将 JSONObject 和 JSONArray 作为输入分配给 Schema 文件中的几个字段。在 graphQL 模式文件中,我们不能直接将 JSONObject/JSONArray 设置为数据类型。有人可以指导我如何在 graphQL 中处理 JSONObject/JSONArray 吗?
amazon-web-services - 对象 Amplify Schema 定义中未显示一对多关系
我是使用 GraphQL 放大的新手。我正在设置我的数据库模式并在运行放大推送后自动生成函数。
我想实现但不知道如何实现的目标
- 我希望能够从 getUser 返回的对象中获取具有所有连接信息(具有一对一和一对多关系)的用户
- 我希望仍然能够获取 userByUserName 并查看所有连接的一对多关系
调用API生成函数获取用户时,
我得到了一个用户对象,但是,它看起来像这样——尽管我确信数据库中的数据设置正确。
这个模式不包括我所有的模型定义——customStyles、defaultStyles 和其余的,但它们是一对一的关系,工作得很好。我遇到了一对多关系的问题,例如用户到 UserSocialNetwork 和用户到按钮。
我在 AWS Amplify Docs 上阅读了很多关于此的资源,浏览了一些示例,但仍然没有找到任何可以让我从 getUser 调用上的连接中获取信息并让我能够获得按用户名的用户。任何输入将不胜感激!!!
graphql - 我无法解决的 Graphql 架构设计问题
我正在尝试为应用程序设计架构,但遇到了无法解决的问题。这是应用程序的详细信息
用户 A 喜欢用户 B 用户 B 匹配用户 B 现在用户 A 和用户 B 可以开始互相聊天了。
我还跟踪谁访问了每个配置文件用户 A 由用户 B 访问 用户 A 由用户 C 访问
在应用程序中,我输入了运行应用程序的用户的详细信息。我有一个看起来像这样的 me 查询:
除此之外,我还有 listUsers 查询列出了我附近的用户,看起来像这样:
我的问题由于用户之间存在关系(LIKED_BY,MATCHED_WITH),我应该在我的模式中在哪里使用这种关系,以便它可以兑现。请记住,客户端的关系可以从 NO_RELATIONSHIP 更改为 LIKED_BY 再到 MATCHED_WITH,因此如果该关系在多个地方重复,这将是一个问题。
我真的很感激任何帮助,因为我没有想法。
提前致谢。