2017年5月1日

GraphQL SDL——Schema 定义语言

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

GraphQL 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 新闻通讯

© . This site is unofficial and not affiliated with Prisma Data, Inc.