pub struct Schema {Show 30 fields
pub title: Option<String>,
pub description: Option<String>,
pub schema_type: Option<Type>,
pub nullable: Option<bool>,
pub required: Vec<String>,
pub items: Option<Box<ObjectOrReference<Schema>>>,
pub properties: BTreeMap<String, ObjectOrReference<Schema>>,
pub additional_properties: Option<Box<ObjectOrReference<Schema>>>,
pub default: Option<Value>,
pub example: Option<Value>,
pub format: Option<String>,
pub enum_values: Vec<String>,
pub pattern: Option<String>,
pub multiple_of: Option<Number>,
pub minimum: Option<Number>,
pub exclusive_maximum: Option<bool>,
pub maximum: Option<Number>,
pub exclusive_minimum: Option<bool>,
pub min_length: Option<u64>,
pub max_length: Option<u64>,
pub min_items: Option<u64>,
pub max_items: Option<u64>,
pub unique_items: Option<bool>,
pub max_properties: Option<u64>,
pub min_properties: Option<u64>,
pub read_only: Option<bool>,
pub write_only: Option<bool>,
pub all_of: Vec<ObjectOrReference<Schema>>,
pub one_of: Vec<ObjectOrReference<Schema>>,
pub any_of: Vec<ObjectOrReference<Schema>>,
}
Expand description
The Schema Object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. This object is an extended subset of the JSON Schema Specification Wright Draft 00. For more information about the properties, see JSON Schema Core and JSON Schema Validation. Unless stated otherwise, the property definitions follow the JSON Schema.
See https://github.com/OAI/OpenAPI-Specification/blob/HEAD/versions/3.1.0.md#schemaObject.
Fields§
§title: Option<String>
§description: Option<String>
§schema_type: Option<Type>
§nullable: Option<bool>
§required: Vec<String>
§items: Option<Box<ObjectOrReference<Schema>>>
§properties: BTreeMap<String, ObjectOrReference<Schema>>
§additional_properties: Option<Box<ObjectOrReference<Schema>>>
Value can be boolean or object. Inline or referenced schema MUST be of a Schema Object and not a standard JSON Schema.
See https://github.com/OAI/OpenAPI-Specification/blob/HEAD/versions/3.1.0.md#properties.
default: Option<Value>
§example: Option<Value>
§format: Option<String>
§enum_values: Vec<String>
§pattern: Option<String>
§multiple_of: Option<Number>
§minimum: Option<Number>
§exclusive_maximum: Option<bool>
§maximum: Option<Number>
§exclusive_minimum: Option<bool>
§min_length: Option<u64>
§max_length: Option<u64>
§min_items: Option<u64>
§max_items: Option<u64>
§unique_items: Option<bool>
§max_properties: Option<u64>
§min_properties: Option<u64>
§read_only: Option<bool>
§write_only: Option<bool>
§all_of: Vec<ObjectOrReference<Schema>>
§one_of: Vec<ObjectOrReference<Schema>>
§any_of: Vec<ObjectOrReference<Schema>>
Trait Implementations§
source§impl<'de> Deserialize<'de> for Schema
impl<'de> Deserialize<'de> for Schema
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq for Schema
impl PartialEq for Schema
impl StructuralPartialEq for Schema
Auto Trait Implementations§
impl RefUnwindSafe for Schema
impl Send for Schema
impl Sync for Schema
impl Unpin for Schema
impl UnwindSafe for Schema
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more