2017年5月1日

GraphQL SDL — 模式定义语言

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

GraphQL SDL 

什么是 GraphQL 模式定义?

GraphQL 模式定义是指定 GraphQL 模式 最简洁的方式。其语法定义清晰,并且 是官方 GraphQL 规范的一部分。模式定义有时被称为 IDL(接口定义语言)或 SDL(模式定义语言)。

博客应用的 GraphQL 模式可以这样定义

模式定义的主要组成部分是 类型 及其 字段。附加信息可以作为自定义 指令 提供,例如为 likes 字段指定的 @default 值。

类型

类型有名称,并且可以实现一个或多个 接口

字段

字段有名称和类型

GraphQL 规范定义了一些 内置 标量值,但具体实现可以定义更多。内置标量类型包括

  • Int
  • Float
  • String
  • Boolean
  • ID

除了标量类型,字段还可以使用模式定义中定义的任何其他类型。

非空字段用感叹号表示

列表用方括号表示

枚举

一个 enum 是具有一组指定可能值的标量值

接口

在 GraphQL 中,interface 是字段列表。GraphQL 类型必须具有其实现的所有接口的相同字段,并且所有接口字段必须是相同的类型。

模式指令

指令允许你将任意信息附加到任何其他模式定义元素。指令总是放在它们所描述的元素后面

指令没有内在含义。每个 GraphQL 实现都可以定义自己的自定义指令,以添加新功能。

GraphQL 规定了内置的 skip 和 include 指令,可用于在查询中包含或排除特定字段,但这些在模式语言中不使用。

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . All rights reserved.