是否可以在运行时更改GraphQL模式并编写处理此动态模式的解析程序?(爪哇语)

是否可以在运行时更改GraphQL模式并编写处理此动态模式的解析程序?(爪哇语),graphql,graphql-java,Graphql,Graphql Java,我正在使用GraphQL(Java),我想找到一种方法来完成以下工作: 我需要能够在运行时不断地调整GraphQL模式,而无需重新启动。特别是,我需要能够向GraphQL类型添加新字段。此外,我需要能够编写能够处理这个动态模式的解析器 我还没有示例代码,所以只想一个最简单的示例(一个GraphQL类型,有几个字段,所有字段都可以是不同的类型) 我的问题是,我对GraphQL非常陌生,而且我对它没有很多经验。当然,我在互联网上寻找了一个解决方案,但我还没有找到(或者只是因为缺乏GraphQL的经验

我正在使用GraphQL(Java),我想找到一种方法来完成以下工作: 我需要能够在运行时不断地调整GraphQL模式,而无需重新启动。特别是,我需要能够向GraphQL类型添加新字段。此外,我需要能够编写能够处理这个动态模式的解析器

我还没有示例代码,所以只想一个最简单的示例(一个GraphQL类型,有几个字段,所有字段都可以是不同的类型)

我的问题是,我对GraphQL非常陌生,而且我对它没有很多经验。当然,我在互联网上寻找了一个解决方案,但我还没有找到(或者只是因为缺乏GraphQL的经验而没有注意到我找到了)。 我唯一有趣的发现是:。但我不明白这个解决方案是如何工作的,因为1)我不知道如何在运行时重新加载模式,2)我不知道如何编写解析器,以便它们能够处理该动态模式

那么,有人能帮我解决问题和/或回答我关于我找到的链接的问题吗

我非常感谢每一个帮助,不管它有多广泛。就像我之前说过的,我对GraphQL是一个新手。因此,如果可能的话,我也非常感谢与示例的链接,这样我才能更好地理解


非常感谢您。

首先,不要尝试这样做,也不要仅在某些非常严格的情况下使用。原因如下:

  • 模式就像是
    前端
    后端
    之间的契约,一旦发生变化,就会很快导致两者之间的不稳定
  • 如果您尝试更改
    图形ql
    的架构,则可能无法正确连接到您的解析程序,也可能无法连续连接到您的数据库
  • 每当模式发生更改时,GraphQL服务器(通常是服务器处理程序)都需要重新启动(重新编译)&这需要时间,因此会导致较高的响应时间

无论你使用什么语言,你都应该把它看作是一个危险信号。在我看来,这将是一个非常糟糕的做法。

虽然在一些用例中,动态更改模式可能是有效的(例如,构建无头CMS),但对我来说,这听起来像是一个危险信号。通常,GraphQL模式不应更改。GraphQL模式是多个软件之间的契约,随着时间的推移,它保持不变是至关重要的。因此,大多数服务器库不是为在运行时更改模式而设计的,特别是对于静态类型的编译语言。有人可能在Node.js中一起破解一些东西。。。