【发布时间】:2022-01-19 07:16:57
【问题描述】:
我在后端使用 Spring Boot 和 Netflix 的 DGS 库用于 GraphQL。我们的应用程序有多个模块(multi-gradle 项目),每个模块负责一件事。因此,我想根据该模块的业务逻辑将 GQL 模式拆分为多个文件(假设我们有像 cars, people, animals 和父模块 app 这样的包,其中包含主 SpringBootApp 类),所以我只想要突变和查询路径上的一个特定包而不是其他包。 (我不想在 animal 包中看到 cars 的突变)
问题是我在项目中不能有多个Mutation 类型的定义,所以我尝试输入extend type Mutation,但是当我运行我的测试时失败了,因为他们不知道父级,因为唯一的架构for cars 是复制的,而不是父代。
我还尝试创建一些 Gradle 任务,它会复制架构并从文件中删除 extend 关键字,这会起作用,但这不是最佳解决方案。
另一种选择可能是为 UseMutation、CarMutation 等突变创建新类型,但不确定这是否是正确的方法。
您还有其他想法,如何工作和处理这种模式分离?非常感谢。
【问题讨论】:
标签: spring-boot kotlin graphql