[][src]Struct oas3::Schema

pub struct Schema {
    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>>,
}

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/master/versions/3.0.1.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/master/versions/3.0.1.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

impl Clone for Schema[src]

impl Debug for Schema[src]

impl Default for Schema[src]

impl<'de> Deserialize<'de> for Schema[src]

impl PartialEq<Schema> for Schema[src]

impl Serialize for Schema[src]

impl StructuralPartialEq for Schema[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.