Scaffold a new structured Rust web API using the included command line tool.
Organize an application into modules with dependency injection between controllers and services.
Add request validation, middleware, and security headers to an API without writing them from scratch.
Generate OpenAPI documentation and a Swagger interface automatically for an API.
| ironic-org/ironic | nesthings/fuskyom | elliotgao2/handsets | |
|---|---|---|---|
| Stars | 34 | 34 | 35 |
| Language | Rust | Rust | Rust |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires Rust 1.97 or newer, installed via cargo and its own CLI for project scaffolding.
Ironic is a full featured framework for building structured web APIs in Rust, built on top of the existing Axum web library. It takes its structure and style from NestJS, a popular framework in the JavaScript world, and adapts that same organized, modular approach to Rust's stricter type system. A new project can be created and started with a few commands using the included command line tool, which also offers code generators and a doctor command for checking a project's setup. From there, applications are organized into modules that group related controllers and services together, with a built in system for managing how those pieces depend on each other, including detection of dependency cycles. The framework handles common needs for a production API out of the box. It supports different ways of versioning an API, a request pipeline with middleware, guards, and interceptors, and pipes that parse, validate, and transform incoming data, including integration with a validation library. It also includes exception handling with route level and global error filters, control over exactly which fields appear in a JSON response, response compression, and security features like CORS, rate limiting, and common security headers. Automatic OpenAPI documentation with a Swagger interface is generated as well. It connects with several databases and external systems, including SQLx, SeaORM, Diesel, MongoDB, and Redis, plus support for JWT authentication, OAuth, gRPC, and GraphQL. Testing utilities are included for writing in process tests against a running application. The project is licensed under either MIT or Apache 2.0, whichever the user prefers, and is actively maintained with a public Discord community for support and contributions.
A batteries included, type safe Rust framework for building structured web APIs on top of Axum, inspired by NestJS.
Mainly Rust. The stack also includes Rust, Axum, SQLx.
Use, modify, and share freely under either the MIT or Apache 2.0 license, whichever you prefer.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.