hero

一個功能強大且簡單的 Rust Web 服務端框架

快速開始 捐獻金子

簡單得讓你一見鐘情

你並不需要掌握非常復雜的 Rust 語言功能, 僅僅隻需要裏麵的常見的功能, 就可以寫出強大高效的服務器, 媲美 Go 類的 Web 服務器框架的開發速度.

強大實用的功能

雖然簡單, 但是功能依舊強大, 內置 Multipart, 靈活的數據解析...等等, 能滿足大多數業務場景需求.

風馳電掣的性能

在 Rust 的加持下, 性能爆錶. 與其他大多數語言的框架對比, 就像是他們拿著大炮, 你直接就出了核武器.

從未見過的路由系統

Salvo 擁有與眾不同的路由系統, 可以無限嵌套, 使用方便, 靈活, 高效. 你可以用各種姿勢隨心所欲地使用它, 它能帶給你前所未有的極致快感.

極簡的中間件系統

Salvo 中中間件和處理句柄都是 Handler, 兩者合體, 和諧統一, 一片祥和. 官方提供豐富且靈活的中間件實現.

運行穩定無憂

Rust 極其安全的機製, 讓你的網站上線後, 基本沒有後顧之憂. 你有更多的時間和...在...啪啪啪享受性福時光, 而不是在焦頭爛額地啪啪啪地敲著鍵盤搶救你的服務器程序.

Hello world!

use salvo::prelude::*;

#[handler]
async fn hello() -> &'static str {
    "Hello World"
}

#[tokio::main]
async fn main() {
    tracing_subscriber::fmt().init();

    let router = Router::new().get(hello);
    let acceptor = TcpListener::new("127.0.0.1:5800").bind().await;
    Server::new(acceptor).serve(router).await;
}
[package]
name = "example-hello"
version = "0.1.0"
edition = "2021"
publish = false

[dependencies]
salvo.workspace = true
tokio = { version = "1", features = ["macros"] }
tracing = "0.1"
tracing-subscriber = "0.3"