Springboot集成,并具有
notation支持。但是,在得出结论之前,如果我能在以下方面进行不同的Java客户的比较,真的很感激: 功能的设置,例如支持扩展Java标量类型等。 正在积极开发以及广泛使用的人。
限制如果有的话 simple且易于使用opensource? 如果尽可能地,请分享各自的链接。 Edit:此答案侧重于您提到的Spring-boot,侧重于GraphQl Java服务器。如果您追求GraphQl Java客户端,我建议您使用apollo客户端,它易于使用,并且可以完成您可能需要的一切。 disclaimer:
我从未使用过DGS,并且我从未在去年积极使用GraphQl-Java,事情可能已经改变了。我尝试了GraphQl-Java-Tools和SPQR。这个答案是有意义的。提供字段验证
https://github.com/kobylynskyi/graphql-java-codegen从模式下,从模式下生成您的graphql server/client https://github.com/leangen/graphql-spqr
orhttps://github.com/Enigmatis/graphql-java-annotations follow a code first approach and makes a very efficient use of annotation to generate your schema from your code (spqr also provide a spring-boot starter) https://github.com/graphql-java-kickstart/graphql-java-tools
使用架构第一种方法,使您可以创建自己的DTO。它需要大多数锅炉板代码。这是弹簧友好的(如果用于弹簧框架,则GraphQl-Java-Tools解析器将非常直观),并且具有弹簧靴的启动。模式解析器和类发现功能强大但模块化。 Features在功能的术语中,所有这些项目都利用GraphQl-Java的功能,它们将非常相似。 活动发展和社区采用
昨天昨天更新了Graphql-Java-Tools,SPQR和GraphQl-Java-Notiations去年,一月份的GraphQl-Java-Codegen。从阅读Stackoverflow问题,GraphQl-Java-Tools和SPQR似乎是最受欢迎的 - 但我可能错了。 limitations 我没有我能想到的。我认为代码优先的方法(在Java中定义您的API,让库生成您的架构)或模式优先的方法(在模式文件中定义您的API,让库生成代码)可能是确定要使用哪个库的最重要因素。您可以阅读我的答案和kaqqao(spqr作者)出色的答案
以了解更多信息。如果您遵循模式 - 首先方法并希望生成客户端类,我建议您使用https://github.com/kobylynskyi/graphql-java-codegen.
。这里是如何使用生成的类构建请求并从Java调用GraphQl API的一些示例:
gradle示例 - client
mavenexample-client