我正在使用GraphQL React-Apollo创建一个BFF应用 1)在单个请求上,无论我得到什么数据,我都可以多次查询该数据集,而无需发送另一个请求。
让我说
[{
group1:[
{id:123,name:"abcd"}
{id:133,name:"sdfg"}
],
group2:[
{id:1234,name:"abdfcd"}
{id:1333,name:"sdffgg"}
]
group3:[
{id:12234,name:"abdffgcd"}
{id:13333,name:"sdfdgffgg"}
]
}]
现在我想从一个组件中获取group1数据,从另一个组件中获取group2数据 因此可以从React调用BFF 2次以上,但不发送请求。
答案 0 :(得分:0)
我假设您的客户是Apollo客户,而您的BFF是单独的服务。如果正确,那么您可以按照您的解释进行操作。
从Apollo Client执行任何查询时,您可以指定网络策略。 因此,对于第一个,您可以将其标记为“仅网络”,对于接下来的两个,您可以将其标记为“首先缓存”。
在这种情况下,一旦执行第一个查询,Apollo就会缓存您的数据,然后对于第二个查询调用,您将获得数据而无需实际通过网络访问。