Introduzione a warp, web framework per Rust

Mattepuffo's logo
Introduzione a warp, web framework per Rust

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!


Condividi

Commentami!