我确实通过一个查询从api查询汽车,但有两个解析器(列表和列表)(希望解析器是它的正确名称)。我通过列表获得ID的一辆车,而通过列表获得没有过滤器的另一辆车。解析器在服务器端以略微不同的结构输出数据,但我确实在不同的“位置”获得了相同的字段。我想合并结构以获得单个数组,我可以简单地在vue.js中循环。对于apicall,我确实使用vue-apollo。
找不到任何信息可以在graphqlqueries内部合并数据客户端。我发现的所有内容都是使用解析器在服务器端进行处理,但这是我不拥有的api。
是否可以使用graphql进行合并,还是必须将其合并到vue组件中?如果是,最好的方法是什么?
输出将是一个汽车网格,其中我显示了本周的汽车(由id请求)以及有关cardealer的最新汽车。
完整的屏幕截图,包括回复:https://i.imgur.com/gkCZczY.png
精简示例,仅显示ID:
query CarTeaser ($guid: String! $withVehicleDetails: Boolean!) {
search {
listing(guid: $guid){
details{
identifier{
id #for example: here I get the id under details->identifier
}
}
}
listings( metadata: { size: 2 sort:{ field: Age order: Asc}}) {
listings{
id #here it's right under listings
details{
…
}
}
}
}
}
}
答案 0 :(得分:0)
理想情况下,您应该在服务器端进行处理,但是,如果不是您的API,则唯一的解决方案是在客户端(即在组件中)操作数据。
让--no-dependencies
数组保持不变,而将listings
元素与之合并,可能要简单得多,例如:
listing