Содержимое
plumber20.2.0 Совсем недавно я рассказывал про plumber2, и вот появился его свежий релиз. Вышла версия 0.2.0, и это уже не просто косметическое обновление. Пакет постепенно доводят до состояния, когда его можно спокойно использовать в продакшене для реальных API-сервисов на R. 1. Поддержка OpenTelemetry Главное нововведение — интеграция с OpenTelemetry. Если коротко, теперь можно: • собирать трассировки запросов; • получать метрики; • логировать события; • подключать внешние системы мониторинга. Это важно для всех, кто строит API не «для себя», а для команды или продукта. Можно видеть, какие эндпоинты тормозят, где возникают ошибки, как распределяется нагрузка. Для микросервисной архитектуры это особенно актуально. OpenTelemetry можно использовать и как систему логирования, а не только для трейсинга. 2. Встроенная аутентификация В 0.2.0 появилась удобная система guards для защиты маршрутов. Поддерживаются разные способы авторизации: basic, bearer-токены, API-ключи, OAuth2, OpenID Connect. Всё подключается через пакет fireproof и настраивается довольно гибко. Можно комбинировать схемы доступа, например разрешать вход по basic или по ключу вместе с Google-аутентификацией. Для корпоративных API это серьёзный шаг вперёд. Теперь не нужно изобретать свою систему доступа поверх plumber2. 3.Datastore через аннотацию Добавили аннотацию @datastore. Раньше хранилища состояния нужно было описывать только в коде. Теперь их можно объявлять рядом с обработчиками. Это упрощает работу с сессиями, токенами и другими persistent-данными. Код становится чище, структура API понятнее. 4. Улучшения report-endpoints Доработали механизм отчётных эндпоинтов. Появилась функция api_report(), которая расширяет возможности тега @report. Можно гибче настраивать параметры, автоматически учитывать их в OpenAPI-документации и отдавать отчёты, например, на базе Quarto. Это удобно для аналитических API, где нужно по запросу формировать отчёты или выгрузки. Ссылки: Более подробно про релиз можно узнать из статьи "plumber2 0.2.0". #новости_и_релизы_по_R