Size: a a a

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

2019 February 14

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
ну чтобы на беке лишних запросов не делать
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
donnyyy
Чтобы не плодить типы с разным объемом данных

А по спискам есть релай - https://facebook.github.io/relay/graphql/connections.htm
это актуально, если на фронте apollo-client будет?
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
я так понял что-то вроде фильтрации
источник

d

donnyyy in GraphQL — русскоговорящее сообщество
Aleksandr Bukhalo
а в резолверах как я понял, проверять какие аргументы пришли и в зависимости от этого делать запросы?
Да, например. Но в подавляющем случае это примерно одинаковые проверки и в зависимости от стека это можно оптимизировать на уровне ниже резолверов - общее поведение, так сказать
источник

d

donnyyy in GraphQL — русскоговорящее сообщество
Aleksandr Bukhalo
это актуально, если на фронте apollo-client будет?
С аполо не работал никогда, но мне кажется будет
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
@donnyyyyy окей. Допустим делаем два запроса к моему API, один instance { id } другой instance(id: “0”) { id }. В первом случае логично вернуть массив объектов, во втором объект будет. Как это разрулить? GraphQL будет ведь что-то одно ожидать?
источник

d

donnyyy in GraphQL — русскоговорящее сообщество
@donbot можно сделать юнион, который возвращает либо один объект, либо его массив, но это очень плохо звучит.

Я бы не делил вообще - оставил апишку для одной сущности и для их списка - instance + instances

Или только instances с фильтром, в котором будет id - который возвращает список с 1 сущностью (ну или с 0, если нет такой)
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Aleksandr Bukhalo
Кажется то, что нужно, спасибо!
Забей. Это я просто отгенерил sdk из docgen'а. Особого мозга в схему не вкладывал. Нужно было просто показать большую схемку на 10к типов и весом в 9 мб в одном из моих выступлений. Ну и попутно протестить graphql-compose
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Забей. Это я просто отгенерил sdk из docgen'а. Особого мозга в схему не вкладывал. Нужно было просто показать большую схемку на 10к типов и весом в 9 мб в одном из моих выступлений. Ну и попутно протестить graphql-compose
Ок. А может направишь в нужную сторону с моей задачей?
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Нормальное графкуэль апи должно быть с кучей связей
https://apis.guru/graphql-voyager/ глянь swapi или github

Загрузи свою схему, если получится обвчное дерево - значит мало связей.
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Чёрт подери, теперь я понял почему у меня RestQL получился. Спасибо за ссылку!
источник

VA

Veaceslav Artiom in GraphQL — русскоговорящее сообщество
Всем привет. Ребят подскажите плиз как делать правильно мульти язычность ?
Я конечно могу сделать что-то вроде:
input ValuesInput {
lang: String!
content: String!
}
Вот только так я думаю это будет не очень правильно ...
источник

U

Uxname in GraphQL — русскоговорящее сообщество
Veaceslav Artiom
Всем привет. Ребят подскажите плиз как делать правильно мульти язычность ?
Я конечно могу сделать что-то вроде:
input ValuesInput {
lang: String!
content: String!
}
Вот только так я думаю это будет не очень правильно ...
источник

VA

Veaceslav Artiom in GraphQL — русскоговорящее сообщество
Да, знаю я. Случайно нажал )
источник

U

Uxname in GraphQL — русскоговорящее сообщество
Veaceslav Artiom
Всем привет. Ребят подскажите плиз как делать правильно мульти язычность ?
Я конечно могу сделать что-то вроде:
input ValuesInput {
lang: String!
content: String!
}
Вот только так я думаю это будет не очень правильно ...
Методов много, как вариант в хедерах передавать, а из них в контекст, а в резолверах брать язык из контекста
источник

VA

Veaceslav Artiom in GraphQL — русскоговорящее сообщество
Uxname
Методов много, как вариант в хедерах передавать, а из них в контекст, а в резолверах брать язык из контекста
Это понятно. Но вы говорите про Query вроде как
источник

VA

Veaceslav Artiom in GraphQL — русскоговорящее сообщество
А у меня вопрос больше про то как их хранить правильно и про структуру кода... Просто если у меня 80% переводится то мне нужно будет делать много input Type {} что не очень радует (если так можно сказать). Может есть варианты по лучше ?
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Veaceslav Artiom
А у меня вопрос больше про то как их хранить правильно и про структуру кода... Просто если у меня 80% переводится то мне нужно будет делать много input Type {} что не очень радует (если так можно сказать). Может есть варианты по лучше ?
А зачем типы разные делать? Просто отдавай данные в зависимости от контекста
источник

VA

Veaceslav Artiom in GraphQL — русскоговорящее сообщество
Aleksandr Bukhalo
А зачем типы разные делать? Просто отдавай данные в зависимости от контекста
Или я что-то не могу понять или вы меня :))
Как отдавать это потом. А вот как записывать их ?
источник

VA

Veaceslav Artiom in GraphQL — русскоговорящее сообщество
Я вот так хотел сдедать. Вот только не думаю что это правильно ...
источник