Creare una API REST in Rust e Actix
Actix è un web framework per Rust, molto potente e flessibile.
Una delle cose che mi è piaciuta molto è la documentazione, che mi ha permesso di far qualche esperimento base in poco tempo.
Per installarlo agigungete queste dipendenza a Cargo.toml:
[dependencies]
actix-web = "2.0"
actix-rt = "1.0"
Questo il nostro codice Rust:
use actix_web::{web, get, App, HttpResponse, HttpServer, Responder};
async fn index() -> impl Responder {
HttpResponse::Ok().body("Scegli unpath specifico")
}
#[get("/hello")]
async fn say_hello() -> impl Responder {
HttpResponse::Ok().body("Hey there!")
}
#[actix_rt::main]
async fn main() -> std::io::Result<()> {
HttpServer::new(|| {
App::new()
.route("/", web::get().to(index))
.service(say_hello)
}).bind("127.0.0.1:8088")?.run().await
}
Come vedete abbiamo due path:
- http://localhost:8080/
- http://localhost:8080/hello/
Il primo path lo abbiamo aggiunto con la funzione route; il secondo come service.
Diciamo che questo secondo metodo è quello più comune quando si hanno parecchi path.
Prossimanente vedremo come inviare la risposta in formato JSON.
Enjoy!
rust actix cargo
Commentami!