Size: a a a

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

2018 November 28

ИИ

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

MS

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

a

akaSybe in GraphQL — русскоговорящее сообщество
Ильнур Ибатуллин
Доброе утро!
у меня вопрос по n+1
не могу понять, где у dataloader-а метод, который возвращает список запрошенных полей текущей "ноды"
например, у меня есть чат
{
 messages {
   id
   text
   from {
     id
     username
   }
 }
}
когда будем находиться в резолвере messages, я хочу сразу знать, что скоро нужно будет вытаскивать и отправителей сообщений
то есть, охота сделать что-то вроде
getFields(info.fieldNodes), который вернет ['id', 'text', 'from']
в node.js это приходит четвертым параметром в резолвер метод
источник

a

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

a

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

ИИ

Ильнур Ибатуллин in GraphQL — русскоговорящее сообщество
потому что n + 1 тут такой: 1 запрос на получение всех сообщение, n запросов на получение username отправителей
источник

a

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

ИИ

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

ИИ

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

a

akaSybe in GraphQL — русскоговорящее сообщество
насколько я знаю вам надо создать резолвер from для типа Message
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
и в нем не делать вызов repository.getAuthorByMessageId, а использовать DataLoader
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
в том же резолвере у вас будет вся необходимая информация о том какие поля автора нужны
источник

a

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

a

akaSybe in GraphQL — русскоговорящее сообщество
в конце статьи пример, примерно то же самое будет
источник

AC

Andrey Chiganov in GraphQL — русскоговорящее сообщество
Всем привет, вчера услышал мнение что картинки и прочее лучше загружать через REST.  Так вот, есть такая штука
https://github.com/jaydenseric/graphql-multipart-request-spec
источник

А

Андрей in GraphQL — русскоговорящее сообщество
всем привет, подскажите как лучше сделать (описать) схема на сервере? Использую node, express, apollo server 2

Сделал так:
источник

А

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

А

Андрей in GraphQL — русскоговорящее сообщество
и подключил
источник

А

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

А

Андрей in GraphQL — русскоговорящее сообщество
вопрос: я хочу схема разбить отдельно на квери, мутации, а также схему разбить отдельно. Например для продуктов отдельно, для клиента отдельно и прочее.
как сделать?
источник