如何创建多次使用相同查询的 graphql 查询

问题描述 投票:0回答:2

给出的查询

query user($id: Int!) {
  getUser(id: $id) {
    id
    name
  }
}

我想抓住多个用户并让他们作为数组返回:

const users = [1, 2, 3, 5]

我可以从客户端查询这个,还是我需要在服务器上定义新的查询?

顺便说一句,我正在使用 Apollo 和 React。

reactjs graphql apollo
2个回答
1
投票

添加到@Jonathan 的回答:

如果您想概括为“根据一组 id 给我一组用户并且您可以向服务器添加查询,然后定义一个新的突变:

query getUsersFromIds(ids: [ID!]!) [User]

否则 GraphQL 中没有通用的循环结构。


0
投票

理想情况下,这是一个最好通过使用

getUsers
查询扩展模式来解决的问题。

作为解决方法,您可以使用 aliases 在单个查询中进行多个查询。

query users($id1: Int!, $id2: Int!, $id3: Int!) {
  user1: getUser(id: $id1) {
    id
    name
  }
  user2: getUser(id: $id2) {
    id
    name
  }
  user3: getUser(id: $id3) {
    id
    name
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.