Struct rweb::openapi::ComponentDescriptor [−][src]
pub struct ComponentDescriptor { /* fields omitted */ }
Implementations
Get a reference to the component named name
, if such exists.
Get a reference to the schema of a type.
If schema
is inline, it itself is returned,
otherwise the component is looked up by name and its schema is returned.
Panics
Panics if schema
refers to a non-existing component.
pub fn describe_component(
&mut self,
name: &str,
desc: impl FnOnce(&mut ComponentDescriptor) -> Schema
) -> ComponentOrInlineSchema
pub fn describe_component(
&mut self,
name: &str,
desc: impl FnOnce(&mut ComponentDescriptor) -> Schema
) -> ComponentOrInlineSchema
Describes a component, iff it isn’t already described.
Parameters
name
: name of the componentdesc
: descriptor function
Returns
Reference to the component
Circular references
To avoid infinite recursion on circular references, a blanket schema is stored under component name first, then the component is described and the schema replaced.
Note that this may cause invalid spec generation if somewhere in such loop there are types that rely on cloned modification of the schema of underlying component.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ComponentDescriptor
impl Send for ComponentDescriptor
impl Sync for ComponentDescriptor
impl Unpin for ComponentDescriptor
impl UnwindSafe for ComponentDescriptor
Blanket Implementations
Mutably borrows from an owned value. Read more
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn vzip(self) -> V
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more