Our great sponsors
-
routerify
A lightweight, idiomatic, composable and modular router implementation with middleware support for the Rust HTTP library hyper.rs
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
seamless
An opinionated Rust library for creating simple JSON APIs that communicate over HTTP (by jsdw)
We did also consider using Axum for tonic's router, but has put that idea on the back burner for now.
Looks interesting. How does this compare to routerify?
Something like this should work pretty well, since it integrates with serde: https://github.com/teenjuna/prae
I liked a lot how simple and direct is to use your project. The examples are very clear. Next week, I'm going to take a deep look to check the Axum features, and make some benchmark in a real environment (something like this: https://github.com/seanmonstar/warp/issues/557).
I'm actively monitoring all frameworks since 2015 and right now there are 15(!) deprecated but also 12 active server frameworks. And I am really glad that there is a wide discussion and experimentation space to gradually unify the best of all approaches. And that's what makes the Rust community so valuable: creating the best together with patience and precision.
I've been planning on using trillium on a project, the main difference I can see between it and Axum is that Axum allows you to use existing tower middle ware, right?
I hope so. Would be cool to have. I haven't looked into it yet though. Someone did file an issue on it already https://github.com/tokio-rs/axum/issues/50
I wrote a library (https://github.com/jsdw/seamless) to help generate typesafe and documented APIs (more opinionated and not supposed to do the other things you'd want from a web server, so it works alongside and not instead of one) and it looks like running this with axum will be a breeze, so I'll def be trying it out!
i haven't tried it yet, but https://github.com/oxidecomputer/dropshot apparently offers automated OpenAPI generation: https://docs.rs/dropshot/0.5.1/dropshot/struct.ApiDescription.html