Size: a a a

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

2020 September 21

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Начинайте с простого и всё получится
источник

ПЧ

Павел Червов... in GraphQL — русскоговорящее сообщество
Dmitry Balitsky
Если у вас есть база данных и вы хорошо знаете её оптимальный язык, то сделайте)
Ну не только под базу, вот например вам нужно в getUsers()  попросить у api только те поля, которые попросили на фронте.
А вы будете все просить...
источник

ПЧ

Павел Червов... in GraphQL — русскоговорящее сообщество
Dmitry Balitsky
Начинайте с простого и всё получится
Тут я согласен, но о завтра тоже думать надо, хотя бы поинтересоваться в чатике 😊
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
getUsers это и есть апи, оно пишется для гибкости и универсальности, чтобы перекрыть возможные запросы пользователей с фронта
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
А то, что возможно вы подразумеваете есть данные в хранилище, но тут уже другая история. Хранить данные тоже необходимо разумно)
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
К одной коллекции в базе  может быть много обработчиков для апишки
источник

ПЧ

Павел Червов... in GraphQL — русскоговорящее сообщество
Dmitry Balitsky
А то, что возможно вы подразумеваете есть данные в хранилище, но тут уже другая история. Хранить данные тоже необходимо разумно)
Если у нас BFF, то в getUsers может быть вызов к стороннему REST API, и будет вот такой, например запрос:
GET users?fields[users]=id,name,age,postiotion <— какие поля запрашивать???
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Без разницы, вы тогда построите строку запроса исходя из ваших аргументов или из под запроса в parent
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Tatiana Kondratevich
либо ec2 либо lambda надо уточнить, но скорее всего лямбда
если лямбда, то там холодный старт очень долгий как уже и сказали
источник

ПЧ

Павел Червов... in GraphQL — русскоговорящее сообщество
Dmitry Balitsky
Без разницы, вы тогда построите строку запроса исходя из ваших аргументов или из под запроса в parent
ну вот если можете приведите пример как.

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

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Легко)
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Вы сначала посмотрите что в четвёртом аргументе console.log("что там", info)
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
когда нет, когда что-то, когда всё)
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
возможно не такая сильная у вас инвариантность
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
скорее всего на две чашки кофе, обычно бфф и снова включай машинку
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Павел Червов
Полностью - это оверхед, я хочу иметь в getUsers() список запрошенных полей, понимаете?
Это кек, нода не сказать бы что резкая как ситро, наверняка в проекте куча либ будет, экспресс какой-нибудь, то что вы там поля отдельно запросите, как мёртвому припарка
источник

АР

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

ПЧ

Павел Червов... in GraphQL — русскоговорящее сообщество
Dmitry Balitsky
Вы сначала посмотрите что в четвёртом аргументе console.log("что там", info)
Это я уже сделал, выше приводил код, как я в объекте info выбираю fields
источник

DB

Dmitry Balitsky in GraphQL — русскоговорящее сообщество
Тогда сделайте для начала фикс под конкретное, потом подумайте про универсал, а далее паркетник наверное)
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
@paulcervov То, что вы хотите, называется проекцией запрашиваемых полей в базу данных.
источник