#[non_exhaustive]pub struct Link {
pub operation_ref: String,
pub operation_id: String,
pub parameters: BTreeMap<String, Value>,
pub request_body: Option<Value>,
pub description: String,
pub server: Option<Server>,
pub extensions: Option<Extensions>,
}utoipa and (crate features utoipa or vespera) only.Expand description
Implements Open API Link Object for responses.
The Link represents possible design time link for a response. It does not guarantee
callers ability to invoke it but rather provides known relationship between responses and
other operations.
For computing links, and providing instructions to execute them, a runtime expression is used for accessing values in an operation and using them as parameters while invoking the linked operation.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.operation_ref: StringA relative or absolute URI reference to an OAS operation. This field is
mutually exclusive of the operation_id field, and must point to an Operation
Object.
Relative operation_ref values may be used to locate an existing Operation
Object in the OpenAPI definition. See the rules for resolving Relative
References.
operation_id: StringThe name of an existing, resolvable OAS operation, as defined with a unique
operation_id.
This field is mutually exclusive of the operation_ref field.
parameters: BTreeMap<String, Value>A map representing parameters to pass to an operation as specified with operation_id
or identified by operation_ref. The key is parameter name to be used and value can
be any value supported by JSON or an expression e.g. $path.id
request_body: Option<Value>A literal value or an expression to be used as request body when operation is called.
description: StringDescription of the link. Value supports Markdown syntax.
server: Option<Server>A Server object to be used by the target operation.
extensions: Option<Extensions>Optional extensions “x-something”.
Implementations§
Source§impl Link
impl Link
Sourcepub fn builder() -> LinkBuilder
pub fn builder() -> LinkBuilder
Construct a new LinkBuilder.
This is effectively same as calling LinkBuilder::new
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Link
impl<'de> Deserialize<'de> for Link
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Link, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Link, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<Link> for LinkBuilder
impl From<Link> for LinkBuilder
Source§fn from(value: Link) -> LinkBuilder
fn from(value: Link) -> LinkBuilder
Source§impl From<LinkBuilder> for Link
impl From<LinkBuilder> for Link
Source§fn from(value: LinkBuilder) -> Link
fn from(value: LinkBuilder) -> Link
Source§impl Serialize for Link
impl Serialize for Link
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for Link
Auto Trait Implementations§
impl Freeze for Link
impl RefUnwindSafe for Link
impl Send for Link
impl Sync for Link
impl Unpin for Link
impl UnsafeUnpin for Link
impl UnwindSafe for Link
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more