Size: a a a

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

2021 September 29

𝘂

𝘂𝘅𝗻𝗮𝗺𝗲... in GraphQL — русскоговорящее сообщество
тогда вручную продублировать по квере на каждый rest эндпоинт
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
да, руками описать все резолверы - это вариант, но возможно есть уже что-то готовоее
источник

𝘂

𝘂𝘅𝗻𝗮𝗺𝗲... in GraphQL — русскоговорящее сообщество
федерация это либа позволяющая написать несколько микро бэков и один внешний псевдо бэк, который автоматически смержит все микро бэки в один
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
Федерация умеет работать в рестами?
источник

𝘂

𝘂𝘅𝗻𝗮𝗺𝗲... in GraphQL — русскоговорящее сообщество
нет
источник

𝘂

𝘂𝘅𝗻𝗮𝗺𝗲... in GraphQL — русскоговорящее сообщество
это чисто gql технология
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
Я тоже так думал, поэтому не упомянул ее в вопросе
источник

AO

Alexander Ovchinniko... in GraphQL — русскоговорящее сообщество
можно над рестовским API сделать GraphQL (через https://github.com/apollographql/apollo-server/tree/main/packages/apollo-datasource-rest, например) и потом объединить в один через федерацию
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
да, это интересно. Только зачем через федерейшен объединять, он же вроде может несколько сорсов вместе
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
А у вас есть опыт использования в проде этой штуки?
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
Как она, проблем не было?
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Лучше чем руками, никакой генератор не сделает. Я руками оборачиваю с помощью graphql-compose с описанием дополнительных связей между entity, с queryCost и прочими плюшками. В любом случае все наверное закончится у вас гибридным подходом. Часть генерите, часть руками дозавязываете.

Я на эту тему доклад делал, можете посмотреть, возможно подчерпнуете какие-нибудь идеи

https://youtu.be/CA_ZVf5lbWI
YouTube
Павел Черторогов — Оборачиваем существующее REST API в GraphQL (методология за 1000000 рублей)
Ближайшая конференция:
HolyJS 2021 Moscow — 2-5 ноября, онлайн.
Подробности и билеты: https://bit.ly/3rF5KS7

. А реально обернуть REST API в GraphQL? И как сделать R&D для этой технологии? Обычно обкатку технологии принято делать на TodoMVC. Так и поступим.

А коль Павел человек непростой, то придется брать и непростое Todo-приложение, к примеру, систему управления проектами Wrike.

Возьмем REST API от Wrike:

22 entity;
87 методов.
И потратим 160 часов на:

134 GraphQL-типа;
1002 поля и аргумента;
51 явную прямую связь между entity по id;
26 неявных обратных связей через фильтры.
Весь полученный опыт Павел сожмет в часовой доклад. Он поделится наработками, набитыми шишками, идеями и мыслями о том, как хорошо и качественно обернуть REST API в GraphQL. Приходите посмотреть, будет интересно!

А перед докладом можно посмотреть на то, что получилось, и о чем спикер будет рассказывать:

Живой GraphQL-прокси – https://graphql-wrike.herokuapp.com/
Диаграмма связей настоящего «волосатого» GraphQL – https://graphql…
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Кто-нибудь смотрит GraphQL Conf? )
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
Ну в общем-то я к гибридному варианту склоняюсь тоже, но хочется по максимому использовать что-то готовое.
В любом случае всем спасибо
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Я смотрю и вспоминаю Краснодар )))
Шрути Капур выступает со своим доработанным докладом. Процентов 50 она рассказывала 2-3 года назад.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Если у вас NodeJS и готовы вложиться инженером в опенсорс на разработку graphql-compose-openapi, то я могу вам помочь все спроектировать и напилить генератор. Который из свагерровской схемы позволит генерировать запчасти типов и резолверов, которые потом можно будет склеивать в большое волосатое АПИ.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
@nodkz Кстати, видел? 😉

https://github.com/dotansimha/graphql-eslint/pull/643/files#diff-0b5ca119d2be595aa307d34512d9679e49186307ef94201e4b3dfa079aa89938R50

Потихоньку превращаем твой https://graphql-rules.com в правила graphql-eslint. )
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
О крутяк!
Мы недавно впилили туда проверку имен файлов и название операций внутри файла https://github.com/dotansimha/graphql-eslint/pull/458
источник

PP

Pavel Pulin in GraphQL — русскоговорящее сообщество
пока не могу сказать, но буду иметь в виду.
Вообще у нас не open-api в основном. У нас кастомное подобие RMI. Так что там по идее надо парсить java интерфейсы. В общем не просто все 🙂
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Ну если у кастомного RMI есть схема/интроспекция, то можно на базе нее написать генератор. Самое главное чтоб в каком-то перевариваемом стандарте была, чтоб могла другим людям пригодиться в виде опенсорс решения. В противном случае, мне не шибко интересно будет участвовать в выпиливании кастомного генератора на безвозмездной основе.
источник