Skip to main content

Components

Struct Components 

Source
#[non_exhaustive]
pub struct Components { pub schemas: Schemas, pub responses: Responses, pub parameters: PropMap<String, RefOr<Parameter>>, pub examples: PropMap<String, RefOr<Example>>, pub request_bodies: PropMap<String, RefOr<RequestBody>>, pub headers: PropMap<String, RefOr<Header>>, pub security_schemes: PropMap<String, SecurityScheme>, pub links: PropMap<String, RefOr<Link>>, pub callbacks: PropMap<String, RefOr<Callback>>, pub path_items: PropMap<String, RefOr<PathItem>>, pub extensions: PropMap<String, Value>, }
Expand description

Implements OpenAPI Components Object which holds supported reusable objects.

Components can hold either reusable types themselves or references to other reusable types.

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.
§schemas: Schemas

Map of reusable OpenAPI Schema Objects.

§responses: Responses

Map of reusable response name, to OpenAPI Response Objects or OpenAPI References to OpenAPI Response Objects.

§parameters: PropMap<String, RefOr<Parameter>>

Map of reusable OpenAPI Parameter Objects, indexed by name.

§examples: PropMap<String, RefOr<Example>>

Map of reusable OpenAPI Example Objects, indexed by name.

§request_bodies: PropMap<String, RefOr<RequestBody>>

Map of reusable OpenAPI Request Body Objects, indexed by name.

§headers: PropMap<String, RefOr<Header>>

Map of reusable OpenAPI Header Objects, indexed by header name.

§security_schemes: PropMap<String, SecurityScheme>§links: PropMap<String, RefOr<Link>>

Map of reusable OpenAPI Link Objects, indexed by name.

§callbacks: PropMap<String, RefOr<Callback>>

Map of reusable OpenAPI Callback Objects, indexed by name.

§path_items: PropMap<String, RefOr<PathItem>>

Map of reusable OpenAPI Path Item Objects. Added in OpenAPI 3.1; entries here can be referenced from paths or webhooks via RefOr::Ref.

§extensions: PropMap<String, Value>

Optional extensions “x-something”

Implementations§

Source§

impl Components

Source

pub fn new() -> Self

Construct a new empty Components. This is effectively same as calling Components::default.

Source

pub fn add_security_scheme<N: Into<String>, S: Into<SecurityScheme>>( self, name: N, security_scheme: S, ) -> Self

Add SecurityScheme to Components and returns Self.

Accepts two arguments: the name of the SecurityScheme (used later when referenced by SecurityRequirements) and the SecurityScheme itself.

Source

pub fn extend_security_schemes<I: IntoIterator<Item = (N, S)>, N: Into<String>, S: Into<SecurityScheme>>( self, schemas: I, ) -> Self

Add iterator of SecuritySchemes to Components.

Accepts two arguments: the name of the SecurityScheme (used later when referenced by SecurityRequirements) and the SecurityScheme itself.

Source

pub fn add_schema<S: Into<String>, I: Into<RefOr<Schema>>>( self, name: S, schema: I, ) -> Self

Add Schema to Components and returns Self.

Accepts two arguments where first is name of the schema and second is the schema itself.

Source

pub fn extend_schemas<I, C, S>(self, schemas: I) -> Self
where I: IntoIterator<Item = (S, C)>, C: Into<RefOr<Schema>>, S: Into<String>,

Add Schemas from iterator.

§Examples
Components::new().extend_schemas([(
    "Pet",
    Schema::from(
        Object::new()
            .property("name", Object::new().schema_type(BasicType::String))
            .required("name"),
    ),
)]);
Source

pub fn response<S: Into<String>, R: Into<RefOr<Response>>>( self, name: S, response: R, ) -> Self

Add a new response and returns self.

Source

pub fn extend_responses<I: IntoIterator<Item = (S, R)>, S: Into<String>, R: Into<RefOr<Response>>>( self, responses: I, ) -> Self

Extends responses with the contents of an iterator.

Source

pub fn add_parameter<N: Into<String>, P: Into<RefOr<Parameter>>>( self, name: N, parameter: P, ) -> Self

Insert a reusable Parameter (or a Ref to one) and return self.

Source

pub fn add_example<N: Into<String>, E: Into<RefOr<Example>>>( self, name: N, example: E, ) -> Self

Insert a reusable Example (or a Ref to one) and return self.

Source

pub fn add_request_body<N: Into<String>, B: Into<RefOr<RequestBody>>>( self, name: N, request_body: B, ) -> Self

Insert a reusable RequestBody (or a Ref to one) and return self.

Source

pub fn add_header<N: Into<String>, H: Into<RefOr<Header>>>( self, name: N, header: H, ) -> Self

Insert a reusable Header (or a Ref to one) and return self.

Insert a reusable Link (or a Ref to one) and return self.

Source

pub fn add_callback<N: Into<String>, C: Into<RefOr<Callback>>>( self, name: N, callback: C, ) -> Self

Insert a reusable Callback (or a Ref to one) and return self.

Source

pub fn add_path_item<N: Into<String>, P: Into<RefOr<PathItem>>>( self, name: N, path_item: P, ) -> Self

Insert a reusable PathItem (or a Ref to one) and return self.

Path Item entries in components.pathItems were introduced in OpenAPI 3.1 to support reusable webhooks and shared path operations.

Source

pub fn append(&mut self, other: &mut Self)

Moves all elements from other into self, leaving other empty.

If a key from other is already present in self, the existing value is kept and the duplicate from other is dropped.

Source

pub fn extensions(self, extensions: PropMap<String, Value>) -> Self

Add openapi extensions (x-something) for Components.

Source

pub fn is_empty(&self) -> bool

Returns true if instance contains no elements.

Trait Implementations§

Source§

impl Clone for Components

Source§

fn clone(&self) -> Components

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Components

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Components

Source§

fn default() -> Components

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

impl<'de> Deserialize<'de> for Components

Source§

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 Components

Source§

fn eq(&self, other: &Components) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Components

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Components

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more