GraphQL 有自己的语言来编写 GraphQL Schema:GraphQL Schema 定义语言 (SDL)。SDL 简单直观,同时功能强大且富有表现力。

什么是 GraphQL Schema 定义?
GraphQL Schema 定义是指定 GraphQL Schema 的最简洁方法。语法定义明确,并且是官方 GraphQL 规范的一部分。Schema 定义有时被称为 IDL(接口定义语言)或 SDL(Schema 定义语言)。
博客应用的 GraphQL schema 可以这样指定
schema 定义的主要组成部分是类型及其字段。可以作为自定义指令提供附加信息,例如为 likes
字段指定的 @default
值。
类型
类型有一个名称,并且可以实现一个或多个接口
字段
字段有一个名称和一个类型
GraphQL 规范定义了一些内置的标量值,但具体的实现可以定义更多。内置的标量类型是
- Int
- Float
- String
- Boolean
- ID
除了标量类型之外,字段还可以使用 schema 定义中定义的任何其他类型。
非空字段用感叹号表示
列表用方括号表示
Enum
一个 enum
是一种标量值,具有一组指定的可能值
Interface
在 GraphQL 中,一个 interface
是一个字段列表。GraphQL 类型必须具有与其实现的所有接口相同的字段,并且所有接口字段必须是相同的类型。
Schema 指令
指令允许你将任意信息附加到任何其他 schema 定义元素。指令总是放在它们所描述的元素后面
指令没有内在意义。每个 GraphQL 实现都可以定义自己的自定义指令来添加新功能。
GraphQL 规定了内置的 skip 和 include 指令,可用于在查询中包含或排除特定字段,但这些指令不用于 schema 语言中。
不要错过下一篇文章!
订阅 Prisma Newsletter