同一查询中的多个端点
Multiple endpoints in same query
它完美地工作,只有一个端点。
使用 apollo-link-rest,我做了一个看起来像这样的客户端
const restLink = new RestLink({ uri: "https://example.com/" })
并使用 new ApolloClient({...})
导出客户端
现在回答问题
在同一台服务器上https://example.com/
,有多个端点,所有端点都具有相同的字段,但每个端点中的数据不同
第一个有效的查询如下所示
export const GET_PRODUCTS = gql`
query firstQuery {
products @rest(type: "data" path: "first/feed") { // the path could be second/feed and it will work with different data
id
title
}
}
`
我希望所有这些不同的路径都进入同一个 json 提要,因为它们都有相同的字段,但数据不同
使用别名
您可以(应该可以)使用标准方法进行类似的查询 - 获得许多数据(结果)通常作为相同的形状(节点名称)可用。这是描述here.
{
"1": products(....
"2": products(....
...
}
可以创建路径using variables
可以通过遍历 data
对象轻松组合结果。问题?仅适用于固定数量(不多)的端点,因为不应通过字符串操作生成查询。
多个 graphql 查询
您可以在循环中创建查询 - 参数化 - 使用 Promise.all()
和 apollo-client client.query(
。结果也需要合二为一
自定义提取
使用 custom fetch 您可以创建一个采用路径数组的查询。在这种情况下,解析器应该对参数化的 fetch
请求使用 Promise.all()
。组合结果可以作为单个节点返回(根据需要)。
不好
来解决问题
它完美地工作,只有一个端点。 使用 apollo-link-rest,我做了一个看起来像这样的客户端
const restLink = new RestLink({ uri: "https://example.com/" })
并使用 new ApolloClient({...})
现在回答问题
在同一台服务器上https://example.com/
,有多个端点,所有端点都具有相同的字段,但每个端点中的数据不同
第一个有效的查询如下所示
export const GET_PRODUCTS = gql`
query firstQuery {
products @rest(type: "data" path: "first/feed") { // the path could be second/feed and it will work with different data
id
title
}
}
`
我希望所有这些不同的路径都进入同一个 json 提要,因为它们都有相同的字段,但数据不同
使用别名
您可以(应该可以)使用标准方法进行类似的查询 - 获得许多数据(结果)通常作为相同的形状(节点名称)可用。这是描述here.
{
"1": products(....
"2": products(....
...
}
可以创建路径using variables
可以通过遍历 data
对象轻松组合结果。问题?仅适用于固定数量(不多)的端点,因为不应通过字符串操作生成查询。
多个 graphql 查询
您可以在循环中创建查询 - 参数化 - 使用 Promise.all()
和 apollo-client client.query(
。结果也需要合二为一
自定义提取
使用 custom fetch 您可以创建一个采用路径数组的查询。在这种情况下,解析器应该对参数化的 fetch
请求使用 Promise.all()
。组合结果可以作为单个节点返回(根据需要)。