170 похожих чатов

Кстати говоря, господа, а как вы фильтры в openapi описываете?

Кто-нибудь скинет пример с полноценной фильтрацией?

21 ответов

14 просмотров
А4 Одноногое- Автор вопроса

Вопрос открыт. Я вот немного попробовал, и выходит как-то громоздко

Зависит от параметров и сложности фильтров. В твоём примере лучше сделать не ne:0, а отталкиваться всё же от каких-то более абстрактных понятий. Например, сделать ?onlyActive=true (активные - то есть не удалённые). Или наоборот onlyDeleted=true. Если нужна прямо реально сложная фильтрация, то в некоторых случаях стоит присмотреться к GraphQL. Я не сторонник этой технологии, но это хотя бы стандартизировано, а всякие ne:0 - это собственный велосипед

А4 Одноногое- Автор вопроса
Dmitriy Sviridov
Зависит от параметров и сложности фильтров. В твоё...

Тоже так думаю, что это переизобретение graphql) Но graphql - это отдельная технология, там есть свою нюансы и проблемы Вообще, если делать с операторами - это придётся упарываться в enum'ы. А вот если без них, то в query можно cкармливать модель определённую в definitions/schemas, и тогда выглядит не всё так плохо :)

А4 Одноногое
Тоже так думаю, что это переизобретение graphql) Н...

Если фильтров много и нужны очень гибкие с кучей возможностей, то в REST это получится всегда велосипед) Я бы в таком случае предпочёл GraphQL даже несмотря на его недостатки. Лучше бороться с его недостатками, чем с велосипедами

то есть для всех бекофисов брать графкл, а для других нужд пилить обычный рест или грпц? так ни в какие сроки не успеешь. а в графкл: там еще н+1 проблемы реши рекурсии порешай.

Dmitriy Sviridov
Если фильтров много и нужны очень гибкие с кучей в...

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

Artur Karapetov
то есть для всех бекофисов брать графкл, а для дру...

Это всё очень зависит от задачи. Вполне может оказаться, что эндпоинты с гибкой фильтрацией нужны для каких-то отчётов, скажем, а больше нигде. И ничего не мешает именно эти эндпоинты сделать в виде GraphQL, а не натягивать сову на глобус, пытаясь всё API проекта в GraphQL пилить

А4 Одноногое- Автор вопроса
А4 Одноногое
Тоже так думаю, что это переизобретение graphql) Н...

Вообще, на go инструмент уже написан, которому можно скармливать подобные операторы, и его можно переиспользовать Но конечно хотелось бы, чтобы это отражалось и в спецификации тоже

Artur Karapetov
а велосипедов и нет. сделал либу и внедрил ее везд...

Всякие ne:0, которые выше были приведены в качестве примера - это и есть велосипед, потому что нет стандарта, который бы описывал это. То, что это вынесено в библиотеку, никак не отменяет этого факта

Dmitriy Sviridov
Всякие ne:0, которые выше были приведены в качеств...

это не велосипед. кажется ты подменяешь понятия. до создания графкл что делать?))

Artur Karapetov
это не велосипед. кажется ты подменяешь понятия. ...

Почему ж не велосипед? Я ещё ни разу не видел сложной фильтрации в параметрах url, которая бы не выглядела как какой-то костыль. Причём то, как эти параметры будут выглядеть, надо выдумывать. И каждый проявляет фантазию и выдумывает это по-своему... Я бы предпочёл готовое решение вместо этого)

Dmitriy Sviridov
Почему ж не велосипед? Я ещё ни разу не видел слож...

давай вернемся на 10 лет назад и выберем готовое решение

Artur Karapetov
давай вернемся на 10 лет назад и выберем готовое р...

Ну, слушай, так можно и на 20 лет назад вернуться и обнаружить, что Go не существует)

Dmitriy Sviridov
Ну, слушай, так можно и на 20 лет назад вернуться ...

передергиваешь ;-) по твоей логике, все кроме графкл — велосипед? и до его создания - все велосипеды.

Artur Karapetov
передергиваешь ;-) по твоей логике, все кроме гр...

Почему ж всё?) Я его так-то не люблю и вообще использую очень мало. Я пишу насчёт велосипедов конкретно в контексте тех случаев, когда разрабы придумывают сложную логику фильтрации в параметрах URL с какими-то разделителями, вложенностью и парсингом этого дела. Да, на мой взгляд, это не самое удачное решение. 10 лет назад я б может так и делал, т.к. выбирать особо не из чего. Сейчас для меня конкретно для этой задачи GraphQL выглядит более удачным выбором. P.s. правда вроде 10 лет назад был Open Data Protocol - и можно было б его выбрать, если так. Как бы там ни было - это тоже стандарт.

А4 Одноногое- Автор вопроса
Dmitriy Sviridov
Почему ж всё?) Я его так-то не люблю и вообще испо...

Но на начальных этапах намного быстрее и дешевле внедрить готовое, хоть и не настолько гибкое решение

Dmitriy Sviridov
Почему ж всё?) Я его так-то не люблю и вообще испо...

Зависит от того, насколько сложная фильтрация

Владимир Столяров
Зависит от того, насколько сложная фильтрация

фильтрация не бывает просто почти никогда если она правда нужна.

Dmitriy Sviridov
Почему ж всё?) Я его так-то не люблю и вообще испо...

не релевантен пример с ОДП, я такого даже не знаю ;)

Похожие вопросы

Обсуждают сегодня

зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
8
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Можно попросить небольшое ревью кода? Тут немнога, я ничего интереснее не придумал, чем написать аналог tree в качестве практики с cmake. https://github.com/hrimov/tree-unix/...
Andrew Hrimov
11
Всем привет. Ребят подскажите пожалуйста. Вопрос по дизасемблировани. Начну с начала. У меня есть скомпилированная программа на ГО (я разработчик) - в ней есть защита лицензии...
Zloy
11
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Но если Евгений и Алекс используют в боевых условиях, то почему нет? А ты как-то про бизнес больше задвигаешь, это имеет к разработке отношение, но все же этим больше другие л...
Keiman
4
все привет. подскажите может кто сталкивался evo 3 если в formlister в параметр formTpl указать имя чанка а не через @CODE то в указанном чанке не парсятся плейсхолдеры [**]? ...
Иван Тарасевич
7
Карта сайта