| Crates.io | ferro-rs |
| lib.rs | ferro-rs |
| version | 0.1.71 |
| created_at | 2026-01-16 18:04:23.032393+00 |
| updated_at | 2026-01-17 20:05:47.506024+00 |
| description | A Laravel-inspired web framework for Rust |
| homepage | https://github.com/albertogferrario/ferro |
| repository | https://github.com/albertogferrario/ferro |
| max_upload_size | |
| id | 2049060 |
| size | 696,474 |
A Laravel-inspired web framework for Rust.
Add Ferro to your Cargo.toml:
[dependencies]
ferro = { package = "ferro-rs", version = "0.1" }
tokio = { version = "1", features = ["full"] }
use ferro::{json_response, text, Router, Server, Request, Response};
#[tokio::main]
async fn main() {
let router = Router::new()
.get("/", index)
.get("/users/{id}", show_user);
Server::new(router)
.port(8080)
.run()
.await
.expect("Failed to start server");
}
async fn index(_req: Request) -> Response {
text("Welcome to Ferro!")
}
async fn show_user(req: Request) -> Response {
let id = req.param("id")?; // Returns 400 if missing
json_response!({
"id": id,
"name": format!("User {}", id)
})
}
? operator for automatic 400 responsesUse the Ferro CLI to scaffold new projects:
cargo install ferro-cli
ferro new myapp
MIT