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

Общаемся на темы, посвященные GraphQL и опыту его использования. Проблемы. Новости. Решения. Вам могут быть полезны: @apollo_ru, @react_js, @vuejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание в чате было полезным и комфортным.

352 members

Архив канала @graphql_ru 10 января 2018 г.

01:28:52 ДП
User 178361440
добавить два аргумента limit, offset к query полю (они же иногда называются skip, take) и передать в SQL запрос который дергает данные из базы
https://github.com/kriasoft/nodejs-api-starter/blob/master/src/schema/story/queries.js#L39-L40
github.com/kriasoft/nodejs-api-starter/blob/master/src/schema/story/queries.js
nodejs-api-starter - Boilerplate and tooling for authoring data API backends with Node.js and GraphQL
01:31:23 ДП
User 178361440
..а клиентское приложение само решает сколько пунктов нужно загрузить на странице, или вообще может реализовать infinite scroll
01:36:24 ДП
User 178361440
Кстати, SDL это больше экспериментальня штука, в реальных проектах это не рекомендуются использовать
04:46:03 ДП
User 321317845
Смотря какая реализация
04:46:16 ДП
User 321317845
graph.cool вполне продакшн
04:46:25 ДП
User 321317845
мы тоже юзаем, но свою реализацию
04:48:33 ДП
User 306987219
Она экспериментальна в том смысле, чтобы оставить поле для экспериментов (пока ищется оптимальный синтаксис и можно ломать совместимость). Но когда решат, что достаточно - включат в спеку. В этом смысле она никуда уже не денется
04:49:33 ДП
User 321317845
ну, скажем так, там очень много чего не хватает
04:50:47 ДП
User 178361440
и вряд ли получится добавить все фичи / сценарии которые поддерживаются в императивной схеме - dead end
04:51:01 ДП
User 321317845
всё, кроме скаляров вполне себе норм
04:52:07 ДП
User 306987219
В Реакте тоже не всё через декларативное описание можно сделать %)
05:08:47 ДП
User 321317845
@fes0r я, кстати, не понял вопроса
05:12:45 ДП
User 321317845
Вариант на оригинальном SDL:
type Query {
    users(count: Int! = 10, afterId: ID): [User]
   pagination(for: String!): Pagination!
}

type Pagination {
    perPage: Int!
}
{
    users(count: 100) { id }
    pagination(for: "users") { perPage }
}
Вариант на RL/SDL (с помощью дженериков):
type Query {
    users(count: Int! = 10, afterId: ID): Pagination(User)
}

type Pagination($items: Object) {
    data: [$items!]!
    perPage: Int!
}
{
    users(count: 100) {
        data { id }
    }
}
05:25:03 ДП
User 255757458
User 228403837
но в теории ты можешь схему описать на сваггере)
Хочется просто документацию, по графкл схеме есть какие-либо либы что генерят документацию?
05:28:02 ДП
User 306987219
А GraphiQL не устраивает?
05:37:18 ДП
User 255757458
Ну хочется на подобие swagger документации что-то
05:55:24 ДП
User 306987219
Есть https://2fd.github.io/graphdoc/ но сам не пользовался
07:48:08 ДП
User 228403837
User 321317845
Вариант на оригинальном SDL:
type Query {
    users(count: Int! = 10, afterId: ID): [User]
   pagination(for: String!): Pagination!
}

type Pagination {
    perPage: Int!
}
{
    users(count: 100) { id }
    pagination(for: "users") { perPage }
}
Вариант на RL/SDL (с помощью дженериков):
type Query {
    users(count: Int! = 10, afterId: ID): Pagination(User)
}

type Pagination($items: Object) {
    data: [$items!]!
    perPage: Int!
}
{
    users(count: 100) {
        data { id }
    }
}
ключевое - дженерики, в SDL оригинальном их пока нет
07:50:00 ДП
User 255757458
Да читал про него вчера
07:50:00 ДП
User 255757458
Спасибо
08:30:02 ДП
User 321317845
@fes0r если поможешь мне допилить виртуальную машину, чтоб код потом можно было на JS заводить, тогда почти будут и в оригинале =))))