架构定义

GraphQL 中 ,Schema 定义了根执行查询和突变以及数据类型

架构对象类型

Person 类型有两个字段,一个是标准 Scalar 类型,另一个代表与朋友的其他 Person 类型列表的关系。链接其他类型是使 GraphQL 如此强大的原因。现在,在 GraphQL 查询语言(GQL)中,客户端可以遍历朋友图,而无需任何其他代码或高级查询。

type Person {
  id: ID
  name: String
  friends: [Person]
}

架构查询

person 查询通过它的 id 查找单个人。这是使用 GQL 的客户端数据的入口点。

type Query {   
  person(id: ID!): Person
}

查询尼克的朋友的朋友的朋友

现在我们有了一个 Person 类型和一个人根查询,我们可以查找一个人和我们想要的人朋友网络的多少分离度。

query {
  person(id: 'nick'){
    id
    name
    friends{
      id
      name
      friends{
        id
        name
        friends{
          id
          name
        }
      }
    }
  }
}