GraphQL中模式(Schema)和文档(Documents)有什么区别?

7
1个回答

10

文档实际上就是任何包含有效GraphQL语法的字符串。根据规范,文档包含一个或多个定义,其中一个定义可以是:

操作定义

query UsersQuery {
  users {
    id
    email
  }
}
一个片段定义。
fragment UserFragment on User {
  id
  email
}

类型系统定义

type User {
  id: ID!
  email: String!
}

一种类型系统扩展

extend type User {
  name: String
}

操作和片段定义被称为可执行定义。发送给GraphQL服务的文档必须仅包含可执行定义。类型系统定义和扩展用于描述模式 - 这就是我们通常称之为模式定义语言(SDL)的原因。 模式是GraphQL服务的“集体类型系统功能” - 它基本上是代表您的GraphQL服务可以执行的所有类型和指令的集合。

可以使用类型系统定义来描述模式,但实际上说类型定义模式并不太准确,因为模式本身还包括实际的字段解析逻辑。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接