Size: a a a

GraphQL — русскоговорящее сообщество

2019 September 28

e

egoarka in GraphQL — русскоговорящее сообщество
Mikhail
подскажите вот если у меня есть страница на ней несколько виджетов - на каждый сейчас делаем отдельный вызов сетевой - вроде идеальный сценарий для Graphql. Ну есть момент что есть разные конфигурации страниц где-то показываем виджеты A, B, C где-то только C,B и тд. и чтобы это узнать - узнать конфигурацию, надо делать ещё один сетевой запрос. пока придумали только так что запрашиваем данные для всех виджетов в одном grafql запросе (несколько queries) и дальше показываем только то что нужно. Может есть какие-то более изящные решения?
норм решение же, с одним запросом
можно еще с fetch policy поиграться
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Это понятно. Но увы заранее невозможно понять. Либо нужно как-то сконструировать кверю так, чтобы она позволяла nulls на определённых точках запроса
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
И просто по каким то данным отключать со стороны GraphQL те или иные ветки в зависимости от аргумента
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
И возвращало просто null
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Ну тоесть, это будут заточенные под пару вьюх квери
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Которые в других местах не поюзаешь
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Зато оптимальные. Но я бы вначале померял оверхед
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
А потом решил, стоит ли такой тюнинг усложенения такого.
источник

AR

Alexander Rudenko in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Предстоящие выступления (в планах)
5-6 октября 2019, Харьков, KharkivJS (✈️️ подтверждено)
8-9 ноября 2019, Москва, HolyJS (✈️️ подтверждено)
10 ноября 2019, Москва, Workshop по GraphQL на клиенте (в планах)
11-12 ноября 2019, Москва, есть возможность провести корпоративные тренинги по GraphQL (открыт к предложениям)
🔥🔥🔥
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
Mikhail
подскажите вот если у меня есть страница на ней несколько виджетов - на каждый сейчас делаем отдельный вызов сетевой - вроде идеальный сценарий для Graphql. Ну есть момент что есть разные конфигурации страниц где-то показываем виджеты A, B, C где-то только C,B и тд. и чтобы это узнать - узнать конфигурацию, надо делать ещё один сетевой запрос. пока придумали только так что запрашиваем данные для всех виджетов в одном grafql запросе (несколько queries) и дальше показываем только то что нужно. Может есть какие-то более изящные решения?
мне пришла в голову такая идея

с каждой из страниц независимо от того какие виджеты есть на страницы, отправляем квери где запрашиваем данные для всех виджетов

на бэкэнде определяем конфигурацию виджетов в зависимости от текущего пользователя/страницы, на определенные ветви данных для виджетов повесить кастомные директивы, и в зависимости от конфигурации для текущей страницы обрезать лишние данные
источник

M

Mikhail in GraphQL — русскоговорящее сообщество
akaSybe
мне пришла в голову такая идея

с каждой из страниц независимо от того какие виджеты есть на страницы, отправляем квери где запрашиваем данные для всех виджетов

на бэкэнде определяем конфигурацию виджетов в зависимости от текущего пользователя/страницы, на определенные ветви данных для виджетов повесить кастомные директивы, и в зависимости от конфигурации для текущей страницы обрезать лишние данные
Очень правильная мысль, это как раз я хочу с коллегами обсудить. Спасибо большое что вчитались
источник

M

Mikhail in GraphQL — русскоговорящее сообщество
Это нормальный подход когда сервер это не только резолверы но он ещё и умный - зависимости от своего знания будет какие-то виджеты возвращать а какие-то нет?
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
ага
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Mikhail
Это нормальный подход когда сервер это не только резолверы но он ещё и умный - зависимости от своего знания будет какие-то виджеты возвращать а какие-то нет?
Это нормально, когда он приватный. Главное не забудь покрыть все это тестами и написать небольшую доку, чтобы кто придет разгребать понял что к чему в будущем.
Если публичный, конечно же, это уже магия и такое себе :)
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
akaSybe
мне пришла в голову такая идея

с каждой из страниц независимо от того какие виджеты есть на страницы, отправляем квери где запрашиваем данные для всех виджетов

на бэкэнде определяем конфигурацию виджетов в зависимости от текущего пользователя/страницы, на определенные ветви данных для виджетов повесить кастомные директивы, и в зависимости от конфигурации для текущей страницы обрезать лишние данные
Ну, собственно, что я и сказал. Не очень понимаю зачем директивы тут. Просто при таком пользователе, такой-то вью и еще какой-то инфе, возвращаешь то и то, а то, что ненужно, null и все.
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
директивы позволят избежать ветвлений в резолверах, на мой взгляд
источник
2019 October 01

Z

Zae in GraphQL — русскоговорящее сообщество
добрый день, можно ли использовать мутацию для получения данных по определенным айди? у меня есть айди нод которые я когда-то сохранил и мне нужно получить их обновленные поля
источник

Z

Zae in GraphQL — русскоговорящее сообщество
или как иначе мне получить данные по определенным объектам зная их айди? в постгресе у меня лежат интеджеры как примари кеи, но при отправлении на клиент они заменяются айдишниками нод по-видимому и я не могу их привести как аргументы
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
Если я правильно понимаю, то для этого должны быть геттеры по айди e.g. квери типа post(id: UUID!)
источник

AL

Andrii Los in GraphQL — русскоговорящее сообщество
После выфетчивания, Apollo client по комбинации айдишника и типнейма, должен обновить ентити везде в кэше.
источник