schema设计

image

  • REST API是端点的集合

  • GraphiQL是Type类型的集合

  • SDL (Schema DefinitionLanguage)模板定义语言。与GraphQL查询语言一样,无论使用何种语言或框架构建应用程序,GraphQL SDL都是相同的。GraphQL schema文档是定义应用程序中可用类型的文本文档,客户端和服务器则通过它们来验证GraphQL请求

  • 类型,表示自定义对象,是GraphQL schema的核心单元。类型的字段代表了与每个对象相关联的数据。每个字段返回指定类型数据。它既可以是整数类型(integer)或字符串类型(string),也可以是自定义对象类型或是类型列表。

  • schema,把定义好的类型集合起来(类型集合),这就是schema。可以将schema作为字符串写到JavaScript文件里,或者以文本形式写到以.graphql为扩展名的文件里。

标量类型

  • GraphQL内置的标量类型(Int、Float、String、Boolean、ID)

  • 自定义标量类型 scalar,一个自定义标量类型:DateTime

image

enum 枚举类型,是标量类型,允许字段返回一组限制性字符串集。当希望确保字段从有限的值集合当中返回一个值时,可以使用enum类型。

image

连接和列表

  • 列表,通过使用方括号包裹GraphQL类型来创建。[String]定义字符串列表。

  • 非空值列表 image

  • 连接数据,和查询多种类型相关数据的能力是一个非常重要的特征。当我们创建自定义对象类型的列表时,就正在使用这个强大的特征并把各个对象彼此连接起来

  • 一对一连接,将单一对象类型连接到另一个单一对象类型。当我们基于自定义对象类型创建字段时,将连接两个对象。在图论中,两个对象之间的连接被称为边(edge) 照片是由用户发布的,所以系统中的每一张照片都应该包含一条边,它将照片和发布者连接起来。图4-1展示了两种类型之间的单向连接:Photo和User。连接两个节点的边称为postedBy。

image

通过向照片对象添加postedBy字段来创建连接

posted on 2020-04-10 22:51  码上翻身  阅读(354)  评论(0编辑  收藏  举报

导航