utoipa::openapi::path

Struct Paths

Source
#[non_exhaustive]
pub struct Paths { pub paths: PathsMap<String, PathItem>, pub extensions: Option<Extensions>, }
Expand description

Implements OpenAPI Paths Object.

Holds relative paths to matching endpoints and operations. The path is appended to the url from Server object to construct a full url for endpoint.

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.
§paths: PathsMap<String, PathItem>

Map of relative paths with PathItems holding Operations matching api endpoints.

§extensions: Option<Extensions>

Optional extensions “x-something”.

Implementations§

Source§

impl Paths

Source

pub fn builder() -> PathsBuilder

Construct a new PathsBuilder.

This is effectively same as calling PathsBuilder::new

Source§

impl Paths

Source

pub fn new() -> Self

Construct a new Paths object.

Source

pub fn get_path_item<P: AsRef<str>>(&self, path: P) -> Option<&PathItem>

Return Option of reference to PathItem by given relative path P if one exists in Paths::paths map. Otherwise will return None.

§Examples

Get user path item.

let path_item = paths.get_path_item("/api/v1/user");
Source

pub fn get_path_operation<P: AsRef<str>>( &self, path: P, http_method: HttpMethod, ) -> Option<&Operation>

Return Option of reference to Operation from map of paths or None if not found.

§Examples

Get user operation from paths.

let operation = paths.get_path_operation("/api/v1/user", HttpMethod::Get);
Source

pub fn add_path_operation<P: AsRef<str>, O: Into<Operation>>( &mut self, path: P, http_methods: Vec<HttpMethod>, operation: O, )

Append path operation to the list of paths.

Method accepts three arguments; path to add operation for, http_methods list of allowed HTTP methods for the Operation and operation to be added under the path.

If path already exists, the provided Operation will be set to existing path item for given list of HttpMethods.

Source

pub fn merge(&mut self, other_paths: Paths)

Merge other_paths into self. On conflicting path the path item operations will be merged into existing PathItem. Otherwise path with PathItem will be appended to self. All Extensions will be merged from other_paths into self.

Trait Implementations§

Source§

impl Clone for Paths

Source§

fn clone(&self) -> Paths

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Default for Paths

Source§

fn default() -> Paths

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

impl<'de> Deserialize<'de> for Paths

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 From<Paths> for PathsBuilder

Source§

fn from(value: Paths) -> Self

Converts to this type from the input type.
Source§

impl From<PathsBuilder> for Paths

Source§

fn from(value: PathsBuilder) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for Paths

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 Paths

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 Paths

Auto Trait Implementations§

§

impl Freeze for Paths

§

impl RefUnwindSafe for Paths

§

impl Send for Paths

§

impl Sync for Paths

§

impl Unpin for Paths

§

impl UnwindSafe for Paths

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<T> CloneToUninit for T
where T: Clone,

Source§

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

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,