Лёгкий ASGI-фреймворк и набор инструментов для создания асинхронных веб-сервисов и API на Python.
tokio-rs/axum
Эргономичная модульная библиотека для маршрутизации HTTP-запросов и их обработки в Rust на базе tower и hyper.
- Звёзды
- 27,588
- Форки
- 1,526
- Открытые issues
- 109
- Последний коммит
- 5 дней назад
Что это?
axum — библиотека на Rust для создания HTTP-серверов. Она связывает маршруты с асинхронными функциями-обработчиками без макросов, а обработчики объявляют, какие данные им нужны из запроса, с помощью экстракторов — например, для разбора JSON-тела. Так разбор и проверка данных остаются декларативными. Обработчики могут возвращать любой тип, реализующий трейт ответа, благодаря чему обработка ошибок и формирование ответов остаются предсказуемыми.
Вместо собственной системы middleware axum использует tower::Service. Таймауты, трассировку, сжатие и авторизацию из экосистем tower и tower-http можно подключать напрямую, а middleware — использовать совместно с приложениями на hyper или tonic. axum — тонкий слой поверх hyper, почти не добавляющий накладных расходов.
Проект опубликован на crates.io; текущая ветка релизов — 0.8.x, а в main ведётся работа над версией 0.9 с несовместимыми изменениями. В проекте запрещён небезопасный код, минимальная поддерживаемая версия Rust — 1.80.
Ключевые возможности
- 01Маршрутизация путей к асинхронным функциям-обработчикам без макросов.
- 02Декларативный разбор запросов с помощью экстракторов, в том числе JSON-тел.
- 03Формирование ответов из обычных типов возврата с минимумом шаблонного кода.
- 04Полная совместимость с экосистемой middleware для tower.
- 05Тонкий слой поверх hyper с низкими накладными расходами.
- 06Целиком написана на безопасном Rust; небезопасный код запрещён.
Сценарии использования
- Создание JSON REST API на Rust с типизированными телами запросов и ответов.
- Подключение общих middleware, например для трассировки, таймаутов или сжатия, к веб-сервису на Rust.
- Совместное использование middleware веб-API и сервисами на hyper или tonic.
Быстрый старт
- 1
Добавьте axum в проект на Rust (в README нет команды для установки).
- 2
Скопируйте пример использования из README в src/main.rs.
- 3
Посмотрите другие примеры кода в каталоге examples.
Что важно знать
- В ветке main есть несовместимые изменения, предшествующие версии 0.9, поэтому для выпущенной версии используйте ветку 0.8.x.
- Минимальная поддерживаемая версия Rust — 1.80.
В подборках
Темы
Частые вопросы
- Что такое axum?
- Эргономичная модульная библиотека для маршрутизации HTTP-запросов и их обработки в Rust на базе tower и hyper. axum — библиотека на Rust для создания HTTP-серверов. Она связывает маршруты с асинхронными функциями-обработчиками без макросов, а обработчики объявляют, какие данные им нужны из запроса, с помощью экстракторов — например, для разбора JSON-тела. Так разбор и проверка данных остаются декларативными. Обработчики могут возвращать любой тип, реализующий трейт ответа, благодаря чему обработка ошибок и формирование ответов остаются предсказуемыми.
- axum можно использовать бесплатно? Какая у него лицензия?
- axum распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- axum всё ещё поддерживается?
- Активно поддерживается. Последний коммит в axum — 20 окт. 2026 г..
- Для чего можно использовать axum?
- Создание JSON REST API на Rust с типизированными телами запросов и ответов. Подключение общих middleware, например для трассировки, таймаутов или сжатия, к веб-сервису на Rust. Совместное использование middleware веб-API и сервисами на hyper или tonic.
- Как установить axum?
- Добавьте axum в проект на Rust (в README нет команды для установки). Скопируйте пример использования из README в src/main.rs. Посмотрите другие примеры кода в каталоге examples.
- Где скачать axum?
- Исходный код и инструкции по установке — на GitHub: https://github.com/tokio-rs/axum
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Vapor — HTTP-веб-фреймворк для создания сайтов, API и облачных сервисов на Swift.
Быстрый, не навязывающий подходов минималистичный веб-фреймворк для Node.js, предназначенный для создания веб-приложений и HTTP API.
PHP-компонент, который сопоставляет URL входящих HTTP-запросов с конфигурациями маршрутов и генерирует URL по именованным маршрутам.
Python-фреймворк для создания API со стандартными аннотациями типов, автоматической валидацией, документацией OpenAPI и высокой производительностью.
Асинхронный Kotlin-фреймворк от JetBrains для создания микросервисов, веб-приложений и HTTP API.