json/
json.rs

1use obsidian::{context::Context, App, ContextResult};
2use serde::*;
3
4async fn get_user(ctx: Context) -> ContextResult {
5    #[derive(Serialize, Deserialize)]
6    struct User {
7        name: String,
8    };
9
10    let user = User {
11        name: String::from("Obsidian"),
12    };
13    ctx.build_json(user).ok()
14}
15
16#[tokio::main]
17async fn main() {
18    let mut app: App = App::new();
19    let addr = ([127, 0, 0, 1], 3000).into();
20
21    app.get("/user", get_user);
22
23    app.listen(&addr, || {
24        println!("server is listening to {}", &addr);
25    })
26    .await;
27}