Size: a a a

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

2021 March 10

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Alexey Yurchenko
не вижу костыля 💁🏻‍♂️ главное по всему апи одного стиля придерживаться... пустой фильтр это все или []
ну в коде будет лежать массив из 100 значений в виде языков [язык1,язык2,язык3,язык4.....etc]
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
У вас больше костыль в том что различные именования использованы, чем проверка на пустоту массива)
officialLanguages и languageArray?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Anatoliy Kernokus
officialLanguages и languageArray?
name_in
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
это стороннее api )
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Anatoliy Kernokus
это стороннее api )
То есть доступа к беку нет?
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
То есть доступа к беку нет?
к документации разве что есть)
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Как решение вы можете аргумент name_in вообще вычленять из запроса, чтобы не прокидывать весь список, когда нет фильтра
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
Как решение вы можете аргумент name_in вообще вычленять из запроса, чтобы не прокидывать весь список, когда нет фильтра
как это реализовать?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Anatoliy Kernokus
как это реализовать?
как быстрое решение, подготовить два запроса, один с ним, другой без, по заполненности массива подставлять. Но это решение когда у вас SDL схемы на клиенте. А вариаций много на самом деле
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
как быстрое решение, подготовить два запроса, один с ним, другой без, по заполненности массива подставлять. Но это решение когда у вас SDL схемы на клиенте. А вариаций много на самом деле
это уже более адекватное решение,согласен. а вот хранить массив с 120 языками мира - это ведь костыльно? я не знаю насколько сильно, потому что новичок,но внутренний программист подсказывает что это зашквар
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Anatoliy Kernokus
это уже более адекватное решение,согласен. а вот хранить массив с 120 языками мира - это ведь костыльно? я не знаю насколько сильно, потому что новичок,но внутренний программист подсказывает что это зашквар
Да, если аргумент не обязателен, то не стоит передавать полный список, думаю выборка будет явно дольше
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
Да, если аргумент не обязателен, то не стоит передавать полный список, думаю выборка будет явно дольше
Тогда сделаю 2 запроса,спасибо
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
как быстрое решение, подготовить два запроса, один с ним, другой без, по заполненности массива подставлять. Но это решение когда у вас SDL схемы на клиенте. А вариаций много на самом деле
А какие ещё варианты есть решения?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Anatoliy Kernokus
А какие ещё варианты есть решения?
Я не знаю как у вас устроено вообще на клиенте) Можно хоть кастомный сериализатор написать, который на выходе пустые значения удалит. Вариаций правда куча
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Вообще по логике api, если вы передаете пустой массив, апи должен все значения вернуть, но видимо такой логики нет, значит у конечного запроса надо данный аргумент убирать
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
Олег Линьков
Вообще по логике api, если вы передаете пустой массив, апи должен все значения вернуть, но видимо такой логики нет, значит у конечного запроса надо данный аргумент убирать
Я не вижу эту кучу вариаций из-за неопытности)для меня самое оптимальное - написать второй запрос. И кстати да,при передаче пустого массива должны возвращаться все значения но у данного апи не так
источник

fe

from earth in GraphQL — русскоговорящее сообщество
Новичковый вопрос
Подзабыл уже
В графкл есть какой-то встроенный поиск/фильтрация?

Конкретнее, есть квери:


{ "query": "query  { repository(owner: \"$owner\", name: \"$name\") { pullRequest(number: '$prNumber') { comments(first: 100) { edges { node { id, body } } } } } }


Есть какой-то синтаксис. чтобы отфильтровать комменты по вхождению строки в body?
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
from earth
Новичковый вопрос
Подзабыл уже
В графкл есть какой-то встроенный поиск/фильтрация?

Конкретнее, есть квери:


{ "query": "query  { repository(owner: \"$owner\", name: \"$name\") { pullRequest(number: '$prNumber') { comments(first: 100) { edges { node { id, body } } } } } }


Есть какой-то синтаксис. чтобы отфильтровать комменты по вхождению строки в body?
filter :{фильтруешь}
, если такая функция реализована у api. вот пример из проекта , (мб и не совсем корректно написанный)
filter:{AND:[{AND:[{population_gte:$population_gte},{population_lte:$population_lte}]},{name_starts_with:$inputText}]}
источник

fe

from earth in GraphQL — русскоговорящее сообщество
Anatoliy Kernokus
filter :{фильтруешь}
, если такая функция реализована у api. вот пример из проекта , (мб и не совсем корректно написанный)
filter:{AND:[{AND:[{population_gte:$population_gte},{population_lte:$population_lte}]},{name_starts_with:$inputText}]}
синтаксис для фильтра тоже кастомный?
источник

AK

Anatoliy Kernokus in GraphQL — русскоговорящее сообщество
from earth
синтаксис для фильтра тоже кастомный?
я сам недавно искал api для своего проекта и могу сказать, что где-то он есть,где-то нет. также зависит от внутренних возможностей.например где-то есть between что бы в диапазон число попало,а где-то нет.в моём случае lte и gte есть - меньше,больше определённого числа
источник