actix-web 是 Rust 生态中的最为优秀的 web 框架之一,具有类型安全、功能丰富、扩展性强,以及速度极快的诸多优点。
让我们通过 actix-web 的典型代码,来对其做一个整体认知。
use actix_web::{web, App, HttpRequest, HttpServer, Responder};
async fn greet(req: HttpRequest) -> impl Responder {
let name = req.match_info().get("name").unwrap_or("World");
format!("Hello {}!", &name)
}
#[actix_web::main]
async fn main() -> std::io::Result {
HttpServer::new(|| {
App::new()
.route("/", web::get().to(greet))
.route("/{name}", web::get().to(greet))
})
.bind("127.0.0.1:8080")?
.run()
.await
}
忘掉字符串类型的对象吧,从请求到响应,所有的数据信息都有类型。
actix 提供了诸多开箱即用的功能和特性,如 HTTP/2、日志记录等。
轻松创建自定义库,任何 actix 应用程序都可以无缝集成。
Actix 具有极快的速度,请参见 tec