Size: a a a

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

2019 January 31

IA

Ilya Agarkov in GraphQL — русскоговорящее сообщество
Eugene Allenov
Ilya я уже про это написал. Мы говорим о данных с сервера. Аполло только для UI это overkill :)
почему  overkill ?
источник

IA

Ilya Agarkov in GraphQL — русскоговорящее сообщество
если сравнивать redux/apollo(без graphql бэка) то с apollo мы получим куда меньше клиентского кода. Для многих проектов подойдет идеально
источник

EA

Eugene Allenov in GraphQL — русскоговорящее сообщество
Потому что есть state и есть context api. Redux тоже не нужен
источник

IA

Ilya Agarkov in GraphQL — русскоговорящее сообщество
Eugene Allenov
Потому что есть state и есть context api. Redux тоже не нужен
а при чем тут state и context api? если apollo решает вопрос получения данных
источник

EA

Eugene Allenov in GraphQL — русскоговорящее сообщество
Как? Возможно есть что то о чем я не знаю
источник

IA

Ilya Agarkov in GraphQL — русскоговорящее сообщество
Eugene Allenov
Как? Возможно есть что то о чем я не знаю
подцепляем HOC из аполо, где на gql(с кастомными дериктивами) описаны даныне которые нам нужны, дальше apollo нам их достает - все
источник

IA

Ilya Agarkov in GraphQL — русскоговорящее сообщество
есть нет gql сервера - то можно обойтись apollo-link-state или apollo-link-rest
источник

EA

Eugene Allenov in GraphQL — русскоговорящее сообщество
Ну ок, надо посмотреть. Но вообще я говорил про UI дату изначально, более тонкие материи как рест на клиенте через аполло не рассматривал :)
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Alexander Knyazev
Всем привет.
Насчет авторизации в graphql: мне не нравится идея определения прав в резолверах, как и не нравится использование для этого директив.
Не нравится мне это из-за того, что у меня в проекте уже сейчас 4 роли пользователей, а планируется еще больше. Я не хочу , чтобы незарегистрированный пользователь  даже видел в своей схеме запросы/мутации для администратора.
Это усложняет использование песочницы, это приводит к дополнительным затратам при разработке в dev-режиме (схема пользователя весит много, а он public), да и дает внешним силам видеть мою схему.

Моя идея такая - поднимать один сервер для всех, но внутри node.js приложения поднимать несколько apollo-server'ов на закрытых портах.
Каждый apollo-server нужен для определенного типа пользователя, имеет собственную схему.
Public сервер выполняет роль определения типа пользователя и проксирования запроса на нужный apollo-сервер.

Только вот у меня не хватает знаний оценить такое решение с точки зрения используемых ресурсов. Может кто поможет?
Нормальное решение. Ну будет у тебя в памяти в 4 раза больше типов и функций. И ничего страшного. Нода такую ерунду переварит. Вот если будет 40-100 ролей, тогда уже надо будет считать.

Если извернуться, то вообще можно один ендпоинт на одном порту оставить. И считывая из заголовков/кук передавать в graphql нужную схему.

Глянь мое выступление на holyjs от ноября 2018. Я там рассказываю как это работает.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Прям не в один в один. Но там сразу понятно, что и на квком уровне крутить
источник

AK

Alexander Knyazev in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Нормальное решение. Ну будет у тебя в памяти в 4 раза больше типов и функций. И ничего страшного. Нода такую ерунду переварит. Вот если будет 40-100 ролей, тогда уже надо будет считать.

Если извернуться, то вообще можно один ендпоинт на одном порту оставить. И считывая из заголовков/кук передавать в graphql нужную схему.

Глянь мое выступление на holyjs от ноября 2018. Я там рассказываю как это работает.
О, большое спасибо, посмотрю
источник

АП

Али Палитаев in GraphQL — русскоговорящее сообщество
Всем привет. Я новичок в GraphQL, мало что знаю. Написал API на GraphQL. Использовал GraphiQL для тестирования, там же красивая дока. Но теперь нужно оформить документацию более официально. Рассматриваю Swagger, но там больше под REST сделано. Есть ли какие сервисы для быстрого создания документации. Спасибо
источник

OG

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

OG

Oleg Gamega in GraphQL — русскоговорящее сообщество
что значит более официально ?
источник

АП

Али Палитаев in GraphQL — русскоговорящее сообщество
В том плане, что в компании уже сформировалась политика написания документации в swagger. Помимо этого довольно скептически отношусь к GraphiQL в виде документации на проде. Ведь небезопасно хранить всю информацию о схемах в таком формате
источник

АП

Али Палитаев in GraphQL — русскоговорящее сообщество
Возможно, я не до конца понимаю workflow работы с GraphQL API. Раньше писал только REST API, документировал все в Swagger.
источник

KG

Kool Guy in GraphQL — русскоговорящее сообщество
Али Палитаев
В том плане, что в компании уже сформировалась политика написания документации в swagger. Помимо этого довольно скептически отношусь к GraphiQL в виде документации на проде. Ведь небезопасно хранить всю информацию о схемах в таком формате
не включайте интроспекцию
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Али Палитаев
Возможно, я не до конца понимаю workflow работы с GraphQL API. Раньше писал только REST API, документировал все в Swagger.
В GraphQL все типы, поля и аргументы имеют проперти description в него можешь пихать Markdown.

Вся документашка должна быть в интроспекции схемы!
Никакие сторонние инструменты использовать не нужно. Про сваггер слава богу можно забыть.
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Помимо GraphiQL можешь глянуть GraphQL Playground и Altair. Обычно их слихвой достаточно чтобы быстро и эффективно копаться в документашке.

В конце концов пожешь погуглить что-то вроде “generate docs from graphql introspection”
источник

АП

Али Палитаев in GraphQL — русскоговорящее сообщество
Спасибо за помощь, теперь понял.
источник