A simple library for serializing (and deserializing coming soon) resources following the HAL Spec
Add the dependency to your Cargo.toml:
[dependencies]
rustic_hal="0.2"
serde="1.0"
serde_json="1.0"
serde_derive="1.0"
and to use:
extern crate rustic_hal;
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
use rustic_hal::*;
use serde_json::to_string;
#[derive(Serialize)]
pub struct MyResource {
pub test: String,
}
fn main() {
let mr = MyResource {
test: "Hello, World!".to_string(),
};
let hal_res = HalResource::new(mr).with_link("self", "/api/myresource/0");
println!("json representation: {:?}", to_string(&hal_res));
}
see https://pduval.github.io/rustic_hal/rustic_hal/ for the cargo-doc pages.
This library is heavily inspired by (read copied from) the hal-rs library by Herman J. Radtke III.