【发布时间】:2020-09-10 16:57:53
【问题描述】:
我正在使用 GraphQL(在 Java 中),我想找到一种方法来执行以下操作: 我需要能够在运行时不断调整 GraphQL 架构而无需重新启动。特别是我需要能够向 GraphQL 类型添加新字段。此外,我需要能够编写能够处理这种动态模式的解析器。
我还没有示例代码,所以只考虑最简单的示例(一种 GraphQL 类型,其中包含多个字段,这些字段都可以是不同的类型)。
我的问题是我是 GraphQL 的新手,而且我没有太多的经验。当然,我在互联网上寻找了解决方案,但我还没有找到(或者只是因为我缺乏 GraphQL 经验而没有注意到我找到了它)。 我发现的唯一有趣的发现是:exposing dynamic schemas with graphql。但我不明白这个解决方案是如何工作的,因为 1)我不知道如何在运行时重新加载架构,以及 2)我不知道如何编写解析器以便它们可以处理该动态架构。
那么任何人都可以帮助我解决我的问题和/或回答我关于我找到的链接的问题吗?
我非常感谢每一个帮助,无论它有多么广泛。就像我之前说过的,我在 GraphQL 方面还是个新手。因此,我也非常感谢提供示例链接(如果可能),以便我更好地理解。
非常感谢您。
【问题讨论】:
-
虽然在某些用例中动态更改架构可能是有效的(例如构建无头 CMS),但这对我来说听起来像是一个危险信号。通常,GraphQL 模式不应更改。 GraphQL 模式是软件之间的契约,它必须随着时间的推移保持不变。因此,大多数服务器库不是为在运行时更改架构而设计的,尤其是那些用于静态类型的编译语言的库。一个人可能会在 Node.js 中一起破解一些东西......
标签: graphql graphql-java