如果你正在学习 Rust 语言 并希望构建高性能的 Web 应用,那么 Actix Web 框架 是一个绝佳的选择。本教程将带你从零开始搭建一个简单的 Web 服务,即使你是编程新手,也能轻松上手!
Actix Web 是一个基于 Rust 语言的、异步的、高性能 Web 框架。它以极快的速度和低内存占用著称,非常适合构建微服务、API 接口或高并发 Web 应用。在本文中,我们将围绕 Rust Actix Web框架 展开基础教学。
在开始之前,请确保你已安装以下工具:
rustup 安装)打开终端,运行以下命令验证是否安装成功:
rustc --versioncargo --version 使用 Cargo 创建新项目:
cargo new hello-actix 进入项目目录:
cd hello-actix 打开 Cargo.toml 文件,在 [dependencies] 部分添加 actix-web:
[dependencies]actix-web = "4" 编辑 src/main.rs 文件,输入以下代码:
use actix_web::{web, App, HttpResponse, HttpServer, Result};async fn hello() -> Result { Ok(HttpResponse::Ok().body("Hello, Actix Web!"))}#[actix_web::main]async fn main() -> std::io::Result<()> { println!("启动服务器在 http://localhost:8080"); HttpServer::new(|| { App::new().route("/", web::get().to(hello)) }) .bind("127.0.0.1:8080")? .run() .await} 在终端执行:
cargo run 看到输出 启动服务器在 http://localhost:8080 后,打开浏览器访问 http://localhost:8080,你将看到页面显示:
Hello, Actix Web!
hello():这是一个异步处理函数,返回 HTTP 响应。App::new():创建一个新的 Actix 应用实例。.route("/", web::get().to(hello)):将根路径 / 的 GET 请求映射到 hello 函数。HttpServer::new(...).bind(...).run():启动 HTTP 服务器并监听端口。Actix Web 非常适合构建 REST API。下面是一个返回 JSON 数据的例子:
use actix_web::{web, App, HttpResponse, HttpServer, Result};use serde::Serialize;#[derive(Serialize)]struct User { id: u32, name: String,}async fn get_user() -> Result { let user = User { id: 1, name: "Alice".to_string(), }; Ok(HttpResponse::Ok().json(user))}#[actix_web::main]async fn main() -> std::io::Result<()> { HttpServer::new(|| { App::new().route("/user", web::get().to(get_user)) }) .bind("127.0.0.1:8080")? .run() .await} 记得在 Cargo.toml 中添加 serde 依赖:
[dependencies]actix-web = "4"serde = { version = "1.0", features = ["derive"] } 通过本教程,你已经掌握了 Actix Web 入门教程 的核心内容:如何创建项目、添加依赖、编写路由和返回响应。无论是构建简单的网页还是复杂的 Actix REST API,Actix Web 都能提供卓越的性能和开发体验。
继续深入学习 Rust Web开发,你可以探索中间件、数据库集成、错误处理等高级主题。祝你在 Rust 和 Actix 的世界中编码愉快!
本文由主机测评网于2025-12-06发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123986.html