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

Tho*_*ggi 12 graphql

我想知道GraphiQL中是否有一种方法可以让我将一个查询/突变的结果传递给另一个查询/突变.下面是其中的一个例子login突变来获得viewerviewer将用于查询addresses该用户.这可能是GraphQL/GraphiQL.

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

query {
  addresses(viewer:viewer) {
    city
  }
}
Run Code Online (Sandbox Code Playgroud)

fso*_*son 1

突变中选择集的目的是能够获取因突变而发生变化的数据。但它也使得获取相关数据成为可能,只要您可以通过突变结果类型访问即可。

假设我们有以下类型:

type Address {
  city: String
}
type User {
  addresses: [Address]
}
Run Code Online (Sandbox Code Playgroud)

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

mutation {
  login(credentials: {
    email: "me@me.com",
    password: "password123",
    passwordConfirmation: "password123"
  }) {
    viewer {
      addresses {
        city
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 我想它即将到来,只是还没有准备好。github.com/graphql/graphql-js/issues/462 (3认同)