给出的查询
query user($id: Int!) {
getUser(id: $id) {
id
name
}
}
我想抓住多个用户并让他们作为数组返回:
const users = [1, 2, 3, 5]
我可以从客户端查询这个,还是我需要在服务器上定义新的查询?
顺便说一句,我正在使用 Apollo 和 React。
添加到@Jonathan 的回答:
如果您想概括为“根据一组 id 给我一组用户并且您可以向服务器添加查询,然后定义一个新的突变:
query getUsersFromIds(ids: [ID!]!) [User]
否则 GraphQL 中没有通用的循环结构。
理想情况下,这是一个最好通过使用
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
}
}