Jin*_*won 1 spring-boot graphql graphql-java
我正在考虑将 GraphQL 功能添加到我的 Spring Boot 应用程序中。
我发现有两个工件。
一个是com.graphql-java-kickstart:graphql-spring-boot-starter
,另一个是com.graphql-java:graphql-spring-boot-starter
。
我应该选择哪一个?
这些是不同的 Starter(由不同的团队提供)提供不同的功能,因此没有正确或错误的答案。以下是我所知道的快速概览:
如果您使用的是纯 graphql-java(或者尚未使用任何东西并希望以模式优先的方式进行开发),那么您可能应该选择com.graphql-java:graphql-spring-boot-starter
.
Spring 本身有一个实验性的(到目前为止非常简单)启动器(org.springframework.boot:spring-boot-starter-web
或org.springframework.boot:spring-boot-starter-webflux
),它似乎是基本 graphql-java 启动器的继承者。
如果你想要代码优先(我认为它仍然是模式优先,只是更好),使用graphql-spqr-spring-boot-starter
,它将为你生成 GraphQL 模式和端点,不需要额外的代码。这是公开 Spring 服务的最快方法。有一个示例项目在这里。我是该项目的主要作者,所以这是一个无耻的插件,但老实说,我相信它在可用性方面领先于其他项目。
还有 Netflix ( com.netflix.graphql.dgs:graphql-dgs-spring-boot-starter
) 的DGS 。它也是模式优先的,但与使用纯 graphql-java(或 Spring,目前)相比,它具有更多的特性(因此有更多的意见)开箱即用。我没有第一手的经验,但它有很好的文档记录,所以你应该可以毫无问题地找到你需要的东西。
如果您已经在使用graphql-java-tools
,您可能会想要,com.graphql-java-kickstart:graphql-spring-boot-starter
因为它们打算一起使用。
归档时间: |
|
查看次数: |
686 次 |
最近记录: |