【发布时间】:2021-05-23 17:19:14
【问题描述】:
假设我有以下查询:
query getBooksQuery($userId: String) {
getBooks(userId: $userId) {
id
description
image
user {
email
firstName
lastName
image
}
}
}
假设我必须显示一个包含用户书籍的列表,并在列表上方显示作者详细信息。因为我用userId 查询,所以我知道所有的书都属于同一个用户。
所以,我不想为列表中的每本书获取相同的用户详细信息,但在响应中只获取一次。
有没有办法声明我只想要第一本书的这些信息?
或者它是在响应中有两个对象的唯一方法,例如:
query getBooksQuery($userId: String) {
getBooks(userId: $userId) {
books {
id
description
image
}
user {
email
firstName
lastName
image
}
}
}
不幸的是,使用第二种解决方案,即使它在这一点上更清晰,也需要服务器端的工作来支持这个自定义查询。所以我在想使用当前的api是否仍然可行。 (我也可以做两个请求,一个给用户,一个给书籍,但是嗯......)
我正在使用没有中继的 Apollo,但我目前正在试验,所以如果在 Apollo 中不可行但可行,否则我仍然感兴趣
【问题讨论】:
标签: graphql apollo-client