Skip to content

Latest commit

 

History

History
105 lines (76 loc) · 3.42 KB

File metadata and controls

105 lines (76 loc) · 3.42 KB

RustAPI Documentation

Central index for user guides, architecture notes, and open-source contribution paths.

Current release: rustapi-rs 0.1.551 · Changelog · All releases


Start here

Document Description
Getting Started First API in ~5 minutes
Cookbook Recipes, crate deep dives, learning paths
Features Feature reference
Community & Contributing How to get help, contribute, and report issues

Architecture & design

Document Description
Philosophy Design principles
Architecture Internal structure
Performance Benchmarks Methodology and published claims
Public API Contract Stability and semver expectations

Production

Document Description
Production Baseline Recommended defaults (production_defaults, probes, middleware)
Production Checklist Pre-deploy and rollout checklist
Cookbook: Deployment Docker, Fly.io, Railway, Shuttle, K8s
Cookbook: RustAPI Cloud Managed hosting via CLI
Cookbook: Observability Metrics, tracing, health
Cookbook: Graceful Shutdown Clean shutdown
Cookbook: Replay Request capture and replay

CLI & tooling

Document Description
cargo-rustapi (Cookbook) Full command reference
RustAPI Cloud backend Self-hosted / managed cloud source

Open source

Document Description
Contributing Dev setup, tests, PR process
Code of Conduct Community standards
Security Vulnerability reporting
Community guide Channels, doc locations, release cadence

Examples

Quick start

[dependencies]
rustapi-rs = "0.1.551"

Alias for shorter macros (recommended):

[dependencies]
api = { package = "rustapi-rs", version = "0.1.551" }
use api::prelude::*;

#[derive(Serialize, Schema)]
struct Message { text: String }

#[api::get("/hello/{name}")]
async fn hello(Path(name): Path<String>) -> Json<Message> {
    Json(Message { text: format!("Hello, {name}!") })
}

#[api::main]
async fn main() -> std::result::Result<(), Box<dyn std::error::Error + Send + Sync>> {
    RustApi::auto().run("127.0.0.1:8080").await
}

Open http://127.0.0.1:8080/docs for auto-generated OpenAPI / Swagger UI.

Deploy to RustAPI Cloud

cargo install cargo-rustapi
cargo rustapi login
cargo rustapi deploy cloud

See RustAPI Cloud recipe for auth, status polling, and self-hosted backends.

License

MIT OR Apache-2.0, at your option.