从一个查询/变异和管道获取结果到另一个

时间:2016-08-11 19:19:40

标签: graphql

我想知道GraphiQL中是否有一种方法可以让我将一个查询/突变的结果传递给另一个查询/突变。这是一个示例,其中login变异用于获取viewerviewer将用于查询该用户的addresses。这可以使用GraphQL / GraphiQL。

mutation {
  login(credentials: {
    email: "me@me.com",
    password: "password123",
    passwordConfirmation: "password123"
  }) {
    viewer
  }
}

query {
  addresses(viewer:viewer) {
    city
  }
}

1 个答案:

答案 0 :(得分:3)

突变中选择集的目的是能够获取由于突变而改变的数据。但它也可以获取相关数据,只要您可以通过变异结果类型进行访问。

假设我们有以下类型:

type Address {
  city: String
}
type User {
  addresses: [Address]
}

如果login突变的结果(有效负载)类型包含引用成功登录用户的类型viewer的字段User,则可以查询{的任何字段{1}}在变异的结果中:

User