5 个不稳定版本

0.3.0 2020年12月24日
0.2.10 2020年12月22日
0.2.0 2020年4月26日
0.1.6 2020年2月23日
0.1.5 2020年2月21日

#12 in #salvo

Download history 28/week @ 2024-03-30 1/week @ 2024-04-06 2/week @ 2024-05-25 2/week @ 2024-06-01 1/week @ 2024-06-08

每月 156 次下载

MIT 许可证

5KB
67 代码行

Salvo 构建状态构建状态构建状态codecov crates.io

Salvo 是一个由 Rust 编写的简单 Web 框架。使用它来构建网站和 REST API 非常简单。

特性

  • 基于 hyper, futures 0.3。
  • 易于编写路由器。

快速开始

您可以在这里查看示例或这里阅读文档。

创建一个新的 Rust 项目

cargo new salvo_taste --bin

将以下内容添加到 Cargo.toml

[dependencies]
salvo = "0.3"
tokio = { version = "1.0", features = ["full"] }

在 main.rs 文件中创建一个简单的函数处理器,我们称之为 hello_world,这个函数只是渲染纯文本 "Hello World"。

use salvo::prelude::*;

#[fn_handler]
async fn hello_world(_conf: Arc<ServerConfig>, _req: &mut Request, _depot: &mut Depot, res: &mut Response) {
    res.render_plain_text("Hello World");
}

在 main 函数中,我们需要首先创建一个根 Router,然后创建一个服务器并调用它的 serve 函数

use salvo::prelude::*;

#[fn_handler]
async fn hello_world(_conf: Arc<ServerConfig>, _req: &mut Request, _depot: &mut Depot, res: &mut Response) {
    res.render_plain_text("Hello World");
}

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
    let mut router = Router::new("/");
    router.get(hello_world);
    let server = Server::new(router);
    server.serve().await?;
    Ok(())
}

许可证

Salvo 在 MIT 许可证下授权 (LICENSE-MIThttp://opensource.org/licenses/MIT)

依赖项

~1.5MB
~35K SLoC