deboa-macros

Crates.iodeboa-macros
lib.rsdeboa-macros
version0.0.1-beta.2
created_at2025-09-12 02:17:31.315657+00
updated_at2025-09-24 10:44:17.246241+00
descriptionmacros for deboa
homepage
repositoryhttps://github.com/ararog/deboa
max_upload_size
id1834914
size100,440
ararog (ararog)

documentation

README

Deboa Macros

Install

cargo add deboa-macros

Features

  • json
  • xml
  • msgpack

Usage

use deboa::errors::DeboaError;
use deboa_macros::bora;
use vamo::Vamo;

#[derive(Deserialize, Debug)]
pub struct Post {
    pub id: u32,
    pub title: String,
}

#[bora(
    api(
        get(name="get_by_id", path="/posts/<id:i32>", res_body=Post, format="json")
    )
)]
pub struct PostService;

let client = Vamo::new("https://jsonplaceholder.typicode.com");

let mut post_service = PostService::new(client);

let post = post_service.get_by_id(1).await?;

println!("id...: {}", post.id);
println!("title: {}", post.title);

Ok(())

Notes

It is not possible to use the same name for different operations. Please keep struct names unique and in separate modules if possible.

License

MIT

Author

Rogerio Pereira Araujo rogerio.araujo@gmail.com

Commit count: 14

cargo fmt