LINUX.ORG.RU
ФорумTalks

Flask+Swagger vs BaseHTTPRequestHandler

 ,


0

1

В общем хочу понять как лучше.

Ситуация такая Flask + swagger против BaseHTTPRequestHandler который из стандартной библиотеки.

Есть локальное устройство (фискальный принтер, весы и прочее)

  1. Flask + Swagger Плюсы:
  • имеем задокументированный интерфейс.
  • имеем мидлвари которые будут слать эксепшены на наш сервер (хотя это не нужно)
  • имеем веб интерфейс для того чтоб работать с сервером помимо JS

Минусы:

  • Сложность
  • Объем на диске.
  1. BaseHTTPRequestHandler Плюсы:
  • Ничего ставить не надо. Минусы:
  • Вообще не ясно как тестить и отладка ад.
  • Нет ничего с логами и прочим

Если у тебя там API сложнее полутора эндпоинтов, то фласк конечно.

А если нет, то вместо http.server лучше aiohttp возьми. Я недавно заюзал, очень понравилось.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Не я кстати aiohttp хотел. Но там асинхрон что заказчику голову взорвет. Но заказчик против swagger - говоит я усложняю

dem ()
Ответ на: комментарий от dem

Но там асинхрон что заказчику голову взорвет.

aiohttp вполне успешно может работать с синхронным кодом. Я не уверен, по-моему обработчик всё-таки должен быть объявлен как async def, но твой код запросто может быть синхронным.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от WitcherGeralt

Ну ХЗ. Клиент так считает. Я лично считаю, что фласк проще в написании, но это слой дополнительный (впрочем фласк не наследует BaseHTTPRequestHandler)

dem ()
Ответ на: комментарий от dem

Это хорошо оттестированный слой, который решает проблемы, не создавая новых.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

А что про Swagger думаете? Я за него пилю потому, что это 1) Документация 2) UI для ручного тестирования 3) Автогенерация скажем JS

dem ()
Ответ на: комментарий от dem

Не хотят сваггер — их проблемы, не заставлять же.

Понятно, что это удобно, но нет так нет. Если это разовая работа, которую не нужно будет поддерживать, я бы просто сделал как просят и гори оно.

WitcherGeralt ★★ ()
Ответ на: комментарий от dem

Swagger только для разработки. Все проблемы решены. Бадубумс.

А в production без него.

ggrn ★★★★★ ()

Всё тлен. Только сишечка и голые сокеты, даже cgi - фу

TooPar ()

aiohttp или там fastapi. сваггер есть и там и там, если надо.

вообще не вижу смысла использовать фласк.

асинхрон что заказчику голову взорвет. а в чем проблема? какая ему разница? с async/await код выглядит как синхронный.

pawnhearts ★★★★★ ()
Ответ на: комментарий от intelfx

успешно может работать с синхронным кодом если у вас один пользователь. смотря, конечно, насколько он долго выполняется.

pawnhearts ★★★★★ ()
Ответ на: комментарий от pawnhearts

Я в курсе что сваггер есть и в aiohttp более того он мне проще. Но я делаю не для себя.

dem ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)