Size: a a a

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

2019 July 13

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
Uxname
а почему не подходит в одном резолвере брать два источника и мержить их?
да хз, можно наверное, но так надо еще логику мержа писать
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
но видимо других вариантов нет )
источник

U

Uxname in GraphQL — русскоговорящее сообщество
ну а что там писать
const restObj = getRestObj();
const dbObj = getDbObj();

return {
   field_1: restObj.field_1,
   field_2: restObj.field_2,
   field_3: restObj.field_3,
   field_4: dbObj.field_1,
   field_5: dbObj.field_2,
   field_6: dbObj.field_3,
}
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
Uxname
ну а что там писать
const restObj = getRestObj();
const dbObj = getDbObj();

return {
   field_1: restObj.field_1,
   field_2: restObj.field_2,
   field_3: restObj.field_3,
   field_4: dbObj.field_1,
   field_5: dbObj.field_2,
   field_6: dbObj.field_3,
}
а если полей 100?
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
mcombat ^-^
а если полей 100?
а если у них имена совпадают
источник

U

Uxname in GraphQL — русскоговорящее сообщество
ну ты ведь всё равно их описываешь в схеме
источник

U

Uxname in GraphQL — русскоговорящее сообщество
mcombat ^-^
а если у них имена совпадают
а тут уже ты должен знать откуда надо брать
источник

U

Uxname in GraphQL — русскоговорящее сообщество
mcombat ^-^
а если полей 100?
или загугли js merge objects
источник

e

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

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
ну типа я бы сделал {...obj1, ...obj2} но там могут быть приоритеты выше у obj1 если свойство совпадает по имени
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
но на самом деле реально такой проблемы нет\
источник

e

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

e

egoarka in GraphQL — русскоговорящее сообщество
идея получше есть
источник

e

egoarka in GraphQL — русскоговорящее сообщество
тебе из резолвера (из параметров) нужно достать поля которые с клиента пришои, не помню только как параметр называется
источник

e

egoarka in GraphQL — русскоговорящее сообщество
и по ним определить какой резолвер вызывать на рутовом объекте изи

if (fields.includes('field1') {
 return api.get('...')
} else {
 return localservice.get()
}
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
ну это просто проверка для мерж логики
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
там один резолвер всегда надо вызывать
источник

m^

mcombat ^-^ in GraphQL — русскоговорящее сообщество
второй еще может быть не всегда
источник

e

egoarka in GraphQL — русскоговорящее сообщество
так он и вызывается один раз оО
источник

e

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