GraphQL 入门
什么是 GraphQL?
GraphQL 是一种从 API 请求数据的方式——一种 API 查询语言。它提供了一种灵活的数据请求方式,您可以根据需要获取任意数量的数据。
典型的 GraphQL 实现包括服务器端的 GraphQL(GraphQL API)和客户端的 GraphQL(用于与 GraphQL API 通信)。可以使用许多不同的工具来构建全栈 GraphQL 应用程序,例如 Prisma、Apollo、Express 和 Hasura。
其核心只是一个通过 HTTP 提供的 API。您可以发送 curl 命令来与 GraphQL API 通信。
GraphQL 的一大亮点在于它提供了一种轻松的 API 开发方式。使用 GraphQL,您只需一个端点即可。/graphql
由于每个客户端都与同一个端点通信,因此您可以非常轻松地向现有 API 中添加功能,并确保所有客户端都能利用最新更新的数据。
需要记住的是,GraphQL 只是一个规范。如何实现 GraphQL 很大程度上取决于你使用的库(Apollo、Prisma、Express 等),因此 GraphQL 与语言无关。Java、JavaScript、Python 和 Go 中提供的库支持 GraphQL 跨平台运行。
为什么选择 GraphQL?
- 类型安全
- 向后和向前兼容:无版本
- 减少一次性数据
- 仪器仪表
- 节省多次往返行程
- 免费文档
它与 REST 相比如何?
GraphQL 比 REST 更好,因为 -
- 一个端点来获取所有资源。
- 避免过度获取数据(当只需要几个字段时获取太多字段)。
- 避免数据获取不足(必须调用多个 API,因为一个 API 无法返回所需的所有信息)。
REST 在某些方面做得更好 -
- 缓存
- 基于微服务的架构
- HTTP 代码 - 每个请求的 200、400、500
如何开始使用 GraphQL?
- 理解概念:如何使用 GraphQL
- 阅读官方文档
- GraphQL 与 REST 相比如何
- 了解有关 GraphQL 的常见误解
- 使用 GraphiQL 试用 GitHub 的 API 来体验 GraphQL
- 观看堆栈中的课程
- 构建 GraphQL 服务器
- 在客户端上使用 GraphQL
- 阅读有关 GraphQL 的书籍