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

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

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

21 ответов

30 просмотров
А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
Почему ж всё?) Я его так-то не люблю и вообще испо...

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта