schemars/docs/_includes/examples/custom_settings.rs
2019-12-26 22:00:47 +00:00

27 lines
637 B
Rust

use schemars::{gen::SchemaSettings, JsonSchema};
#[derive(JsonSchema)]
pub struct MyStruct {
pub my_int: i32,
pub my_bool: bool,
pub my_nullable_enum: Option<MyEnum>,
}
#[derive(JsonSchema)]
pub enum MyEnum {
StringNewType(String),
StructVariant {
floats: Vec<f32>,
}
}
fn main() {
let settings = SchemaSettings {
option_nullable: true,
option_add_null_type: false,
..SchemaSettings::draft07()
};
let gen = settings.into_generator();
let schema = gen.into_root_schema_for::<MyStruct>();;
println!("{}", serde_json::to_string_pretty(&schema).unwrap());
}