tokio-rs/axum has 27,799 GitHub stars and 1,621 forks. GitHot measured +20 stars in 24 hours and +109 in 7 days. Last checked 2026-11-11 12:58 UTC. Last push 2026-11-03.
So werden diese Zahlen gemessen
Rust-Bibliothek für HTTP-Routing und Anfrageverarbeitung mit Fokus auf Ergonomie und Modularität
What you can do
- Route requests to handlers with a macro free API.
- Declaratively parse requests using extractors.
- Simple and predictable error handling model.
- Generate responses with minimal boilerplate.
Gemessener Sternzuwachs
- in 24h
- +20
- in 7 days
- +109
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
README.md
Originalaxum
axum is an HTTP routing and request-handling library that focuses on ergonomics and modularity.
More information about this crate can be found in the crate documentation.
High level features
- Route requests to handlers with a macro free API.
- Declaratively parse requests using extractors.
- Simple and predictable error handling model.
- Generate responses with minimal boilerplate.
- Take full advantage of the
towerandtower-httpecosystem of middleware, services, and utilities.
In particular the last point is what sets axum apart from other libraries / frameworks.
axum doesn't have its own middleware system but instead uses
tower::Service. This means axum gets timeouts, tracing, compression,
authorization, and more, for free. It also enables you to share middleware with
applications written using hyper or tonic.
⚠ Breaking changes ⚠
We are currently working towards axum 0.9 so the main branch contains breaking
changes. See the 0.8.x branch for what's released to crates.io.
Usage example
use axum::{
routing::{get, post},
http::StatusCode,
Json, Router,
};
use serde::{Deserialize, Serialize};
#[tokio::main]
async fn main() {
// initialize tracing
tracing_subscriber::fmt::init();
// build our application with a route
let app = Router::new()
// `GET /` goes to `root`
.route("/", get(root))
// `POST /users` goes to `create_user`
.route("/users", post(create_user));
// run our app with hyper, listening globally on port 3000
let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap();
axum::serve(listener, app).await;
}
// basic handler that responds with a static string
async fn root() -> &'static str {
"Hello, World!"
}
async fn create_user(
// this argument tells axum to parse the request body
// as JSON into a `CreateUser` type
Json(payload): Json<CreateUser>,
) -> (StatusCode, Json<User>) {
// insert your application logic here
let user = User {
id: 1337,
username: payload.username,
};
// this will be converted into a JSON response
// with a status code of `201 Created`
(StatusCode::CREATED, Json(user))
}
// the input to our `create_user` handler
#[derive(Deserialize)]
struct CreateUser {
username: String,
}
// the output to our `create_user` handler
#[derive(Serialize)]
struct User {
id: u64,
username: String,
}
You can find this example as well as other example projects in the example directory.
See the crate documentation for way more examples.
Performance
axum is a relatively thin layer on top of hyper and adds very little
overhead. So axum's performance is comparable to hyper. You can find
benchmarks here and
here.
Safety
This crate uses #![forbid(unsafe_code)] to ensure everything is implemented in
100% safe Rust.
Minimum supported Rust version
axum's MSRV is 1.80.
Examples
The examples folder contains various examples of how to use axum. The
docs also provide lots of code snippets and examples.
Getting Help
In the axum's repo we also have a number of examples showing how
to put everything together. You're also welcome to ask in the Discord channel or open a discussion with your question.
Contributing
🎈 Thanks for your help improving the project! We are so happy to have
you! We have a contributing guide to help you get involved in the
axum project.
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in axum by you, shall be licensed as MIT, without any
additional terms or conditions.
Ähnliche Projekte entdecken
codecrafters-io/build-your-own-x
Meistere das Programmieren, indem du deine Lieblingstechnologien von Grund auf neu erschaffst.
561,879 Sternepublic-apis/public-apis
Eine gemeinschaftliche Liste kostenloser APIs
498,248 Sternemorluto/rea
Mit Agenten alles per Reverse Engineering untersuchen, vom Verhalten der Anwendung bis hin zu nativen Binärdateien.
452,742 Sterneopenclaw/openclaw
Die KI, die wirklich Dinge erledigt. Jedes Betriebssystem, jede Plattform. Auf die Hummer-Art. 🦞
394,368 Sterne