finds.dev← search

// the find

tokio-rs/axum

★ 26,241 · Rust · MIT · updated Jun 2026

HTTP routing and request-handling library for Rust that focuses on ergonomics and modularity

axum is Rust's most popular HTTP framework, built on top of hyper and tower. It does routing and request extraction through a trait-based system where handler arguments implement `FromRequest` — no macros required. The target audience is Rust developers building HTTP services who want something that slots into the tower ecosystem rather than a framework that reinvents it.

The `FromRequest` extractor pattern is genuinely good API design — handlers declare what they need as function parameters and the framework does the work, which scales from simple JSON handlers to complex multi-extractor chains without ceremony. Tower integration is the real differentiator: you get timeout, compression, tracing, and auth middleware from the existing ecosystem without axum shipping its own versions. The `#[debug_handler]` macro is underrated — Rust's type errors for handler mismatches are brutal, and this proc macro produces actually actionable diagnostics. `axum-core` separating the foundational traits from the routing layer means library authors can depend on it without pulling in the full framework.

Still pre-1.0 (0.8 out, 0.9 in progress on main), which means breaking changes are routine — the README itself warns about main branch churn right now, which is awkward for a library with 26k stars. The tower middleware story is powerful but has a steep learning curve: `Service`, `Layer`, `MakeService`, and `ServiceBuilder` all need to click before middleware feels natural, and the error handling with `Infallible` trips up most new users. WebSocket support exists but is barebones — no built-in message routing or heartbeat handling, you're on your own once you have the socket. The lack of built-in form validation (no `garde` or `validator` integration out of the box) means every project wires this up differently.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →