【发布时间】:2019-07-11 15:32:24
【问题描述】:
我正在尝试使用 JavaScript 将多个 Graphql 查询组合成一个查询。
我正在寻找这样的东西:
let query3 = mergeQueries(query1, query2);
我们不会事先知道哪些查询会被合并。
假设我有这样的查询:
输入查询1:
{
post(id: 1234) {
title
description
}
}
输入查询2:
{
post(id: 1234) {
tags
author {
name
}
}
}
那么我希望查询结果为:
结果查询3:
{
post(id: 1234) {
title
tags
description
author {
name
}
}
}
这将与 lodash _.merge() 对 JSON 对象的功能相同,但使用 Graphql 查询而不是 JSON 对象。
【问题讨论】:
-
您是否要尽量减少 HTTP 请求的数量?如果是的话,这可能会有所帮助blog.apollographql.com/query-batching-in-apollo-63acfd859862
-
你不能通过简单的文本操作来做到这一点;您需要解析 GraphQL 查询并将它们连接在一起。如果存在动态类型匹配和片段,这可能会变得复杂。
标签: javascript graphql