Actix Web🔗
cargo new hello-world
Cargo Build
Cargo Run
หลังจากสร้างโปรเจ็ค ใส่ไฟล์ ใน Cargo.toml
[dependencies]
actix-web = "4"
หรือใส่แบบ “cargo add actix-web –vers 4.0.0”
ในไฟล์ src/main.rs
use actix_web::{get, post, web, App, HttpResponse,HttpRequest, HttpServer, Responder};
async fn manual_hello() -> impl Responder {
HttpResponse::Ok().body("Hey there!")
}
#[actix_web::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new()
.route("/hey", web::get().to(manual_hello))
})
.bind(("127.0.0.1", 8080))?
.run()
.await
}
[tokio::main]🔗
การทำให้เป็น asynchronous ได้โดยการใส่ #[tokio::main] เพราะโดยพื้นฐาน Rust ไม่ได้เป็น asynchronous runtime
#[tokio::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new()
.route("/hey", web::get().to(manual_hello))
})
.bind(("127.0.0.1", 8080))?
.run()
.await
}
[dependencies]
actix-web = "4"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
Testing🔗
cargo test