gotcha 0.3.0

Enhanced web framework built on top of Axum with OpenAPI, metrics, and configuration management
Documentation
use gotcha::Schematic;
use assert_json_diff::assert_json_eq;

#[derive(Schematic, Debug)]
pub struct ResponseWrapper<T: Schematic> {
    pub code: i32,
    pub message: String,
    pub data: T,
}

#[derive(Schematic,  Debug)]
pub struct Pet {
    pub id: i32,
    pub name: String,
}


fn main() {
    let schema = ResponseWrapper::<Pet>::generate_schema();
    let schema_json = serde_json::to_value(&schema.schema).unwrap();
    let expected_json: serde_json::Value = serde_json::from_str(include_str!("generic_struct.json")).unwrap();
    assert_json_eq!(schema_json,expected_json);
}