Волга
Быстрый async-first веб-фреймворк для Rust на базе tokio + hyper.
Продуктивность по умолчанию
Минимальная настройка, понятный роутинг и удобный API обработчиков для фокуса на логике.
Все необходимое внутри
DI, rate limiting, middleware, tracing, CORS, static files и многое другое из коробки.
Типобезопасные экстракторы
JSON, query params, headers, cookies, файлы — все через композицию типизированных экстракторов.
Масштабируйте API уверенно
Volga предоставляет производительные примитивы и современные практики разработки. От роутинга до middleware и продвинутой инфраструктуры — масштабируйте сервисы без переписывания базовых вещей.
Примеры, которые цепляют
Данные запроса десериализуются прямо в аргументы обработчика. Никакого ручного парсинга — Volga автоматически маппит JSON, query params, заголовки и многое другое.
use volga::{App, Json, ok};
use serde::Deserialize;
#[derive(Deserialize)]
struct User {
name: String,
age: i32,
}
#[tokio::main]
async fn main() -> std::io::Result<()> {
let mut app = App::new();
app.map_post("/hello", |user: Json<User>| async move {
ok!("Hello {}!", user.name)
});
app.run().await
}