#[non_exhaustive]
pub struct Object { pub format: Option<SchemaFormat>, pub description: Option<String>, pub default: Option<Value>, pub enum_values: Option<Vec<String>>, pub required: Vec<String>, pub properties: BTreeMap<String, RefOr<Schema>>, pub additional_properties: Option<Box<RefOr<Schema>>>, pub deprecated: Option<Deprecated>, pub example: Option<Value>, pub write_only: Option<bool>, pub read_only: Option<bool>, pub xml: Option<Xml>, /* private fields */ }
Expand description

Implements subset of OpenAPI Schema Object which allows adding other Schemas as properties to this Schema.

This is a generic OpenAPI schema object which can used to present object, field or an enum.

Fields (Non-exhaustive)

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
format: Option<SchemaFormat>

Additional format for detailing the schema type.

description: Option<String>

Description of the Object. Markdown syntax is supported.

default: Option<Value>

Default value which is provided when user has not provided the input in Swagger UI.

enum_values: Option<Vec<String>>

Enum variants of fields that can be represented as unit type enums

required: Vec<String>

Vector of required field names.

properties: BTreeMap<String, RefOr<Schema>>

Map of fields with their Schema types.

additional_properties: Option<Box<RefOr<Schema>>>

Additional Schema for non specified fields (Useful for typed maps).

deprecated: Option<Deprecated>

Changes the Object deprecated status.

example: Option<Value>

Example shown in UI of the value for richier documentation.

write_only: Option<bool>

Write only property will be only sent in write requests like POST, PUT.

read_only: Option<bool>

Read only property will be only sent in read requests like GET.

xml: Option<Xml>

Additional Xml formatting of the Object.

Implementations

Initialize a new Object with default SchemaType. This effectifly same as calling [Object::with_type(SchemaType::Object)].

Initialize new Object with given SchemaType.

Create std::string object type which can be used to define string field of an object.

let object = Object::with_type(SchemaType::String);

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.