Welcome to the RustAPI documentation!
| Document | Description |
|---|---|
| Getting Started | Build your first API in 5 minutes |
| Features | Complete feature reference |
| Philosophy | Design principles and decisions |
| Architecture | Internal structure deep dive |
RustAPI is an ergonomic web framework for Rust, inspired by FastAPI's developer experience. It combines Rust's performance and safety with modern DX.
Key Features:
- 🎯 5-line APIs — Minimal boilerplate
- 🛡️ Type Safety — Compile-time guarantees
- 📖 Auto Documentation — Swagger UI out of the box
- 🤖 LLM-Ready — TOON format saves 50-58% tokens
- 🔒 Production Ready — JWT, CORS, rate limiting included
"API surface is ours, engines can change."
RustAPI provides a stable, ergonomic public API. Internal dependencies (hyper, tokio, validator) are implementation details that can be upgraded without breaking your code.
[dependencies]
rustapi-rs = "0.1.4"use rustapi_rs::prelude::*;
#[rustapi_rs::get("/hello/{name}")]
async fn hello(Path(name): Path<String>) -> Json<Message> {
Json(Message { greeting: format!("Hello, {name}!") })
}
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
RustApi::auto().run("0.0.0.0:8080").await
}Visit http://localhost:8080/docs for auto-generated Swagger UI.
See the examples directory:
hello-world— Minimal examplecrud-api— Full CRUD operationsauth-api— JWT authenticationtoon-api— LLM-optimized responsesproof-of-concept— Complete feature showcase
MIT or Apache-2.0, at your option.