Size: a a a

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

2019 August 29

П

Павел) in GraphQL — русскоговорящее сообщество
Denis Get'man
такая же?
Получилось. Оказывается до id не мог добраться
источник

М

Макс in GraphQL — русскоговорящее сообщество
Oleg Gamega
я тут задумался, для меня самый главный плюс graphql это типизация апи, есть старый проект который в ближайшее время переводить на graphql точно не буду, но есть JSON Schema, которая может дать почти те же плюшки - есть ли какой то способ сгенерировать ее по существующему апи и сгенирировать типы для тс по ней?
источник

АЗ

Алексей Забайкальский in GraphQL — русскоговорящее сообщество
Прекрасная штука, пользуюсь
источник

OG

Oleg Gamega in GraphQL — русскоговорящее сообщество
я тоже генерирую типы по схеме, с этим все ок, но вот иметь бы такое же для rest  было бы круто
источник

AT

Andrew Tkachenko in GraphQL — русскоговорящее сообщество
Ребята, всем привет. Начинаю писать серевер на тайпскрипте. Для генерации схемы взял ‘type-graphql’. По каким-то причинам, билд путем ‘nxp tsc && node dits/index.js’ работает. А вотчер с ‘npx ts-node ./src/index.ts’ выкидывает ошибку ‘Error: You need to provide explicit type for Task#title !’. Когда Task#title - это банальный стринг и вообще схема Task-а взята из примера в type-graphql. Кто-то сталкивался?
источник

AT

Andrew Tkachenko in GraphQL — русскоговорящее сообщество
ps. а что телеграмм не разрешает отправлять сообщения с косыми кавычками? Сообщение появлялось на долю секунды и исчезало
источник

e

egoarka in GraphQL — русскоговорящее сообщество
@GamegaOleg решил проблему с перфом на деве?
источник

OG

Oleg Gamega in GraphQL — русскоговорящее сообщество
да спасибо, я так и не понял что делал graphql -x в докментации не нашел этого флага, но убрал его перезхал на tsnd  стало рабоать заметно быстрее
источник

e

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

OG

Oleg Gamega in GraphQL — русскоговорящее сообщество
спасибо )))
источник

AT

Andrew Tkachenko in GraphQL — русскоговорящее сообщество
Andrew Tkachenko
Ребята, всем привет. Начинаю писать серевер на тайпскрипте. Для генерации схемы взял ‘type-graphql’. По каким-то причинам, билд путем ‘nxp tsc && node dits/index.js’ работает. А вотчер с ‘npx ts-node ./src/index.ts’ выкидывает ошибку ‘Error: You need to provide explicit type for Task#title !’. Когда Task#title - это банальный стринг и вообще схема Task-а взята из примера в type-graphql. Кто-то сталкивался?
Если кто-то попадет на такой баг, то проблема была в том что рядом с Task.ts лежал транспилированный Task.js. По каким-то причинам когда-то давно он странспилировался отдельно. Так вот, при запуске с ts-node, почему-то брался тот js-ник, а не свежесгенерированный из dist/
источник

D

Den in GraphQL — русскоговорящее сообщество
Кто-то может реализовывал функционал определения статуса юзера online/offline? Подскажите пожалуйста куда копать, чтобы зацепиться на события на сервере, что-то типа subscribe/timed out/unsubscribe (apollo server 2)
источник

m

m^^combat in GraphQL — русскоговорящее сообщество
Вопрос: использую graphql-compose-mongoose для построения схемы + квери в другой апи в резолверах. Раньше другой апи был rest, тоесть в резолверах вызывался RestApiDataSource, сейчас там graphql вместо реста. Какой подход лучше использовать? Данные из другого апи надо предварительно трансформить перед отдачей на клиент
источник
2019 August 30

AK

Alexander Knyazev in GraphQL — русскоговорящее сообщество
@nodkz Послушал доклад на Holy.js про фрагменты и Relay.
Особо интересным показался разговор про "Волосатый" GraphQL API. Основная мысль, я так понял, такая - при хорошо спроектированном GraphQL API разработчики клиентской стороны могут спокойно ходить по описаным в схеме связям, вызывая различные resolvers, а в плохом - словно в REST стучатся в определенные точки.
По моему мненую, это утверждение верно лишь для тех проектов, в которых логика модели хранимых данных декларативно мапится на клиентское приложение, то есть в довольно простых приложениях.

В случаях, когда бэкенд представляет из себя  прложение с трехзвенной архитектурой (Представление - Бизнес -Данные), в нем много бизнес логики и, особенно, когда делается серьезный упор на производительность, сделать "Волосатый" GraphQL будет почти что невозможно. Может я просто не видел хорошего примера, но все наши попытки на проекте, которому уже больше года, сводятся все равно к описанию определенных операций и конкретной их обработке.

Тем не менее, даже при таком подходе, надо сказать, видятся огромные преимущества использования GraphQL.  Жесткая типизация, в совокупности с продвинутым тулингом, позволяет тратить в разы меньше времени на общение с фронтендерами по поводу изменений в  API. В моем случае есть три клиентских приложения,, которые делают 6 человек, и я почти не трачу времени на объяснения изменений в API.  Я, как максимум, говорю, какие запросы изменились - дальше они уже лезут в песочницу и смотрят сами. Да и самому легче при разработке фич использовать песочницу для проверки работы запросов, чем какой-нибудь PostMan в случае Rest.

Так что, как мне кажется, вполне имеет место быть импользование  GraphQL в качестве  декларативного способа задать уровень представления для работы с API для операций, которые вызывают нужные контроллеры, работающие с бизнес-логикой.
источник

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
Alexander Knyazev
@nodkz Послушал доклад на Holy.js про фрагменты и Relay.
Особо интересным показался разговор про "Волосатый" GraphQL API. Основная мысль, я так понял, такая - при хорошо спроектированном GraphQL API разработчики клиентской стороны могут спокойно ходить по описаным в схеме связям, вызывая различные resolvers, а в плохом - словно в REST стучатся в определенные точки.
По моему мненую, это утверждение верно лишь для тех проектов, в которых логика модели хранимых данных декларативно мапится на клиентское приложение, то есть в довольно простых приложениях.

В случаях, когда бэкенд представляет из себя  прложение с трехзвенной архитектурой (Представление - Бизнес -Данные), в нем много бизнес логики и, особенно, когда делается серьезный упор на производительность, сделать "Волосатый" GraphQL будет почти что невозможно. Может я просто не видел хорошего примера, но все наши попытки на проекте, которому уже больше года, сводятся все равно к описанию определенных операций и конкретной их обработке.

Тем не менее, даже при таком подходе, надо сказать, видятся огромные преимущества использования GraphQL.  Жесткая типизация, в совокупности с продвинутым тулингом, позволяет тратить в разы меньше времени на общение с фронтендерами по поводу изменений в  API. В моем случае есть три клиентских приложения,, которые делают 6 человек, и я почти не трачу времени на объяснения изменений в API.  Я, как максимум, говорю, какие запросы изменились - дальше они уже лезут в песочницу и смотрят сами. Да и самому легче при разработке фич использовать песочницу для проверки работы запросов, чем какой-нибудь PostMan в случае Rest.

Так что, как мне кажется, вполне имеет место быть импользование  GraphQL в качестве  декларативного способа задать уровень представления для работы с API для операций, которые вызывают нужные контроллеры, работающие с бизнес-логикой.
А если использовать призму количество кода уменьшается в разы. Фичи делаются быстрей
источник

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
https://github.com/overpod/ku делал недавно на призме пример
источник

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
источник

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
в файле мутаций есть         t.prismaFields(['createVideo'])
       t.prismaFields(['createCategory'])
источник

АТ

Алексей Трофимов in GraphQL — русскоговорящее сообщество
они пробрасывают CRUD призмы
источник

AK

Alexander Knyazev in GraphQL — русскоговорящее сообщество
@overpod  Кодогенерация -  с нее мы начинали. Она дала возможность очень быстро полететь навстречу таскам, и где-то месяца 4 мы жили отлично. Использовали не призму, а кастомное решение, но смысл тот же. У нас представление, которое мы отдаем юзеру, существенно отличается от того, что есть на уровне бизнес-сущностей и в  базе, от слова совсем. Соответственно, кодогенерация нам не нужна.

Сначала пробовали такую схему: нужно много логики? - дергаешь кастомный запрос, написанный отдельно, а он внутри себя дергает 5-6 запросов сгенеренных, между делом совершая различные вычисления и обработки. Но здесь уперлись в производительность. Переписывая запросы в базу на монго-аггрегацию, в самых тяжелых запросах я получил прирост производительности в 400 раз.
источник