如何在没有数据获取器的情况下为 graphql-java 配置 REST 控制器?



我目前正在根据这里的教程在 Springboot 中使用 DataFetcher for GraphQL-Java。这很好用,但我正在寻找另一种在不实现 DataFetcher 的情况下获取端点的方法,因为这似乎是额外的工作,我必须 (1( 实现解析器方法,然后 (2( 为相应的 DataFetcher 创建一个单独的方法。有没有另一种方法可以整合它以公开我的 GraphQL API 和某种形式的 Rest 控制器?我环顾四周,但没有找到任何可行的解决方案。最好(不确定它是否相关(也会有一种更好的方法来注释端点(目前在带有 RuntimeWired 的链接示例中提供,我希望也将其删除(。

简而言之,我希望在 Springboot 中不需要 RuntimeWiring 和 DataFetcher(主要是为了删除相同方法的重复代码并提高可维护性(,而是有另一种方法来为我的 GraphQL-Java 代码配置全局 REST 控制器,同时还具有另一种方法来注释端点(也许在实现的方法之上有一些注释器(。

谢谢!

设法通过使用graphql.kick.start.tools'SchemaParser修复它,并按如下方式GraphQLResolver

return SchemaParser.newParser()
.files(schemaFiles)
.scalars(scalars)
.resolvers(resolvers)
.dictionary(typeDictionary)
.build()
.makeExecutableSchema();

解析器是使用这个惊人的插件作为 Codegen 实现的。