Logo
Section 1 / 11

类型系统与语言简介

了解 GraphQL 类型系统和语言。

导入

类型系统与语言简介

了解 GraphQL 类型系统和语言。

类型系统

从前几节课中我们了解到,GraphQL 会选择对象上的字段,并决定请求何种操作。让我们来逐步分析以下 GraphQL 查询:

1{ 2 pizzas { 3 id 4 name 5 } 6}
  1. 我们从一个特殊的根对象 {} 开始。

  2. 在该对象上选择 pizzas 字段。

  3. 我们希望每个返回的 pizzas 对象都包含 id 和 name 字段。

在 GraphQL 中,服务器始终会响应客户端发送的查询。因此,我们可以在不了解服务器细节的情况下,预测查询将返回什么样的结果。但为了更好地使用 GraphQL,我们需要清楚地了解有哪些数据可用、可以选取哪些字段,以及能够执行哪些操作。

每个 GraphQL 服务器都必须描述客户端可能查询的所有数据。当查询到达时,服务器会根据这个描述(即模式)对查询进行验证并执行。

类型语言

GraphQL 并不依赖 Python 或 JavaScript 等特定编程语言的语法来描述其模式。相反,GraphQL 定义了自己的一套语言。我们可以使用 GraphQL 模式定义语言(Schema Language),它与查询语言类似,能够让开发者以与编程语言无关的方式讨论和定义 GraphQL 模式。

变更

包含对象类型和字段的模式