pub trait JsonSchema {
// Required method
fn json_schema() -> String;
// Provided method
fn is_optional() -> bool { ... }
}Expand description
A type with a JSON Schema.
Required Methods§
Sourcefn json_schema() -> String
fn json_schema() -> String
The schema, as a JSON object.
Provided Methods§
Sourcefn is_optional() -> bool
fn is_optional() -> bool
true when a struct field of this type may be left out (Option).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl JsonSchema for ()
impl JsonSchema for ()
fn json_schema() -> String
Source§impl JsonSchema for String
impl JsonSchema for String
fn json_schema() -> String
Source§impl JsonSchema for bool
impl JsonSchema for bool
fn json_schema() -> String
Source§impl JsonSchema for char
impl JsonSchema for char
fn json_schema() -> String
Source§impl JsonSchema for f32
impl JsonSchema for f32
fn json_schema() -> String
Source§impl JsonSchema for f64
impl JsonSchema for f64
fn json_schema() -> String
Source§impl JsonSchema for i8
impl JsonSchema for i8
fn json_schema() -> String
Source§impl JsonSchema for i16
impl JsonSchema for i16
fn json_schema() -> String
Source§impl JsonSchema for i32
impl JsonSchema for i32
fn json_schema() -> String
Source§impl JsonSchema for i64
impl JsonSchema for i64
fn json_schema() -> String
Source§impl JsonSchema for i128
impl JsonSchema for i128
fn json_schema() -> String
Source§impl JsonSchema for isize
impl JsonSchema for isize
fn json_schema() -> String
Source§impl JsonSchema for str
impl JsonSchema for str
fn json_schema() -> String
Source§impl JsonSchema for u8
impl JsonSchema for u8
fn json_schema() -> String
Source§impl JsonSchema for u16
impl JsonSchema for u16
fn json_schema() -> String
Source§impl JsonSchema for u32
impl JsonSchema for u32
fn json_schema() -> String
Source§impl JsonSchema for u64
impl JsonSchema for u64
fn json_schema() -> String
Source§impl JsonSchema for u128
impl JsonSchema for u128
fn json_schema() -> String
Source§impl JsonSchema for usize
impl JsonSchema for usize
fn json_schema() -> String
Source§impl<T, S> JsonSchema for HashMap<String, T, S>where
T: JsonSchema,
impl<T, S> JsonSchema for HashMap<String, T, S>where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T, S> JsonSchema for HashSet<T, S>where
T: JsonSchema,
impl<T, S> JsonSchema for HashSet<T, S>where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T, const N: usize> JsonSchema for [T; N]where
T: JsonSchema,
impl<T, const N: usize> JsonSchema for [T; N]where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T> JsonSchema for &Twhere
T: JsonSchema + ?Sized,
impl<T> JsonSchema for &Twhere
T: JsonSchema + ?Sized,
fn json_schema() -> String
fn is_optional() -> bool
Source§impl<T> JsonSchema for Arc<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Arc<T>where
T: JsonSchema + ?Sized,
fn json_schema() -> String
fn is_optional() -> bool
Source§impl<T> JsonSchema for BTreeMap<String, T>where
T: JsonSchema,
impl<T> JsonSchema for BTreeMap<String, T>where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T> JsonSchema for BTreeSet<T>where
T: JsonSchema,
impl<T> JsonSchema for BTreeSet<T>where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T> JsonSchema for Box<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Box<T>where
T: JsonSchema + ?Sized,
fn json_schema() -> String
fn is_optional() -> bool
Source§impl<T> JsonSchema for Option<T>where
T: JsonSchema,
impl<T> JsonSchema for Option<T>where
T: JsonSchema,
fn json_schema() -> String
fn is_optional() -> bool
Source§impl<T> JsonSchema for Rc<T>where
T: JsonSchema + ?Sized,
impl<T> JsonSchema for Rc<T>where
T: JsonSchema + ?Sized,
fn json_schema() -> String
fn is_optional() -> bool
Source§impl<T> JsonSchema for Vec<T>where
T: JsonSchema,
impl<T> JsonSchema for Vec<T>where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T> JsonSchema for VecDeque<T>where
T: JsonSchema,
impl<T> JsonSchema for VecDeque<T>where
T: JsonSchema,
fn json_schema() -> String
Source§impl<T> JsonSchema for [T]where
T: JsonSchema,
impl<T> JsonSchema for [T]where
T: JsonSchema,
fn json_schema() -> String
Implementors§
impl JsonSchema for Value
Available on crate feature
serde only.Any JSON value.