1

我的目标是在运行时使用 (1) GraphiQL IDE (2) 动态 GraphQL 模式在 Spring 上构建 GraphQL 服务器。我的 GraphQL 引擎是 GraphQL-Java。

在我的第一次尝试中,我使用了 graphql-java-spring-boot-starter-webmvcgraphiql-spring-boot-starter。GraphQL 服务器和 GraphiQL 都运行良好。但是在graphql-java-spring-boot-starter-webmvc框架下,需要一个GraphQL类的@Bean。在此 bean 中,模式在服务器启动时加载,因此无法更新。

在我的第二次尝试中,我不使用graphql-java-spring-boot-starter-webmvc。相反,我选择spring-boot-starter-web来启动 Web 服务器并定义我自己的 RestController。这很容易更新 GraphQL 实例。但我没有找到与 GraphiQL 集成的方法。我用谷歌搜索了 GraphiQL+Spring,但所有解决方案都使用graphql-java-spring-boot-starter

感谢是否有人可以为我提供任何一种方法的想法。

4

2 回答 2

0

您在 git 中有设置示例吗?

  • 这听起来像一些配置问题。但是很自然地,使用graphql-java-spring-boot-starter-webmvc*.graphql应该在配置的模式资源路径中选择所有模式。检查您是否在您的路径中设置了路径,application.yml或者您的架构是否在配置的路径中(如果已设置或默认设置)。

关于你的第二点:“我用谷歌搜索了 GraphiQL+Spring,但所有解决方案都使用了 graphql-java-spring-boot-starter。”

  • 这对于快速指南和演示是有意义的,因为使用 Springboot 管道以某种方式隐藏在您之外,因此您可以专注于在这种情况下演示的手头技术 GraphQl。

在 GraphiQL 上:

  • 听起来您打算将此嵌入到您的应用程序中,您可能不想在生产中这样做。根据您的用例,还有许多其他独立的替代方案,为您提供 GraphiQL 的所有功能以及更多功能,例如Altair Graphql ClientInsomnia等等。
于 2019-09-20T20:17:42.513 回答
0

它可以在属性中启用:graphql.graphiql.enabled=true 可以通过根 url +/graphiql 示例 http://localhost:8080/graphiql 访问

您可以在这里找到一个很好的详细示例:https ://github.com/NoorKrichen/GraphQL-Spring-Boot-Example

于 2021-12-03T14:34:24.453 回答