GraphQL Java 入门
GraphQL可以用任何语言实现。今天我们来看看 GraphQL 的 Java 服务器实现。我们使用Maven,并假设我们已经设置好了项目结构。下一步是什么?
依赖项
要在 Java 项目中运行 GraphQL,你只需要一个库,即GraphQL Java实现。不过,在使用 GraphQL Java 时,你可能会发现以下几个库很有用:
- Spring Boot
/graphql
- GraphQL Java Spring 和 Spring Boot 集成将处理任何与 HTTP 相关的任务,在应用程序的端点上公开 GraphQL 服务并接受POST
包含 GraphQL 有效负载的请求。 - GraphQL Java 工具——这个库允许您使用 GraphQL SDL 来构建您的 graphql-java 模式。
- GraphQL Java Servlet - GraphQL Java Servlet 的实现,包括对 Relay.js、Apollo 等库的支持,并包装了 GraphQL Java 提供的 GraphQL 的 Java 实现。
因此,将您需要的依赖项添加到项目对象模型文件(pom.xml)中:
定义架构
GraphQL Schema是任何 GraphQL 实现的核心,因此在进一步深入之前,我们绝对需要一个 Schema。为了更容易理解服务器能够执行的操作,GraphQL 定义了一种通用的 Schema 语法,称为SDL(Schema 定义语言)。
SDL 定义项目的元素如下:
type
(最基本的 GraphQL 模式组件):query
(向服务器请求数据)mutation
(操作数据):定义架构的最快方法是使用GraphQL 编辑器。它允许您以传统方式(代码)定义架构,或通过可视化节点对其进行塑造。
服务器
市面上有很多 servlet 容器可供选择,既有开源的,也有商业的,所以选择你觉得合适的就好。我们以 Jetty 为例,并通过Maven 插件来实现它:
您已经快完成了,接下来的步骤是:
- 添加一些更基本的服务器配置,如正确的 Java 版本或 servlet 规范
- 创建
GraphQLEndpoint
用于公开 API 的类 - 定义解析器
如果您想了解有关 GraphQL Java 实现的更多详细信息,请查看 Bojan 关于在https://www.howtographql.com/上设置GraphQL Java服务器的教程
鏂囩珷鏉ユ簮锛�https://dev.to/graphqleditor/getting-started-with-graphql-java-13j1