приложении?
То есть если нужно сделать так, чтобы с клиента уходили какие-то забросы к бэку, но клиентский код при этом не должен знать, что для общения используется именно graphql
https://github.com/YauhenKavalchuk/graphql/tree/lesson_16 Мб это то, что вы ищете
Вот это прекол
посмотрите в сторону persisted queries
привет! посмотрю, спасибо )
В Hasura, например, есть публикация REST (или RPC) запроса, который реализуется GraphQL запросом. Выглядит примерно так:
Это не совсем то, что мне нужно Меня интересует, кто как на уровне архитектуры абстрагирует приложения от использования graphql
Ну это, вроде, тоже вариант. Hasura -- как шлюз/федеративный сервер используется, а REST-точки скрывают внутренности.
Хотите спросить «как применить dependency inversion к graphql на фронте, при этом не потерять реактивность?» ?
Что-то типа того )
Выноси запрос наружу из компонент и всё. В самой компоненте функция, которая возвращает типизированный ответ и не важно откуда данные. А вообще по хорошему все данные снаружи просто, где-нибудь на верхнем уровне, а как их получать, graphql, reqct-query или axios вообще без разницы. Иначе если сувать получение данных в компоненты с логикой никак не абстрагируешься, по любому придется в тестах в мок провадера оборачивать и т.д.
Как-то так и думал делать, ога Спасибо )
Я писал для этого custom hook на реакте. Т.е. все внешние запросы были скрыты в хуке, в котором была заложена модель данных для компонента. Совсем вы не скроете, нюансы взаимодействия с бэком получится унести очень далеко от компонентов.
а нельзя где-то там данные прокидывать в локальный стейт менеджер и их потом уже расшаривать между компонентами. вообще запросы grаphql хоть фетчем можно делать, чтобы избавиться от кэша
Обсуждают сегодня