Могу ли я запросить GraphQL один ответ несколько раз по запросу GraphQL? - PullRequest
0 голосов
/ 05 февраля 2020

Я создаю BFF-приложение с использованием GraphQL React-Apollo, что я хочу 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 из другого компонента, поэтому можно вызывать BFF из React в 2 раза чаще, но не отправлять запрос.

1 Ответ

0 голосов
/ 05 февраля 2020

Я предполагаю, что ваш клиент - это клиент Apollo, а ваш BFF - отдельная услуга. Если это правильно, тогда да, вы можете сделать то, что вы объяснили.

При выполнении любого запроса от клиента Apollo вы можете указать сетевую политику. Таким образом, для первого вы можете пометить его как «Только сеть», а для следующих двух вы можете сделать «Кэшировать первым».

В этом случае, как только ваш первый запрос будет выполнен, Apollo будет кешировать ваши данные. и затем для второго запроса вы получите данные, не переходя по сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...