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 是一种具有一组指定可能值的标量值
接口
在 GraphQL 中,interface 是一个字段列表。一个 GraphQL 类型必须拥有与它实现的所有接口相同的字段,并且所有接口字段的类型必须相同。
Schema 指令
指令允许您将任意信息附加到任何其他 schema 定义元素。指令总是放置在它们所描述的元素后面
指令没有内在意义。每个 GraphQL 实现都可以定义自己的自定义指令来添加新功能。
GraphQL 规定了内置的 skip 和 include 指令,可用于在查询中包含或排除特定字段,但这些指令不用于 schema 语言。
不要错过下一篇文章!
订阅 Prisma 新闻通讯