Introduzione a warp, web framework per Rust
warp è uno dei vari web framework a disposizione per Rust.
Sicuramente è uno dei più usati, o almeno è quello che ho capito girovagando per il web.
In questo articolo vediamo come usarlo, giusto per introduzione.
In sostanza creeremo una route che manda in output i dati in JSON.
Queste le dipendenze da aggiungere al Cargo.toml:
[dependencies]
tokio = { version = "1", features = ["full"] }
warp = "0.3"
serde = { version = "1.0.214", features = ["derive"] }
Qui sotto un esempio di codice:
use warp::Filter;
use serde::{Deserialize, Serialize};
#[derive(Deserialize, Serialize)]
struct Persona {
nome: String,
}
#[tokio::main]
async fn main() {
let route = warp::path("persone")
.map(|| {
let persone: Vec<Persona> = vec![
Persona { nome: String::from("nome 1"), },
Persona { nome: String::from("nome 2"), },
Persona { nome: String::from("nome 3"), },
];
warp::reply::json(&persone)
});
warp::serve(route)
.run(([127, 0, 0, 1], 3030))
.await;
}
Il path a cui accedere sarà: http://localhost:3030/persone
Enjoy!
rust warp json serde tokio
Commentami!