pub struct OpenApiSpec {
pub openapi: String,
pub info: ApiInfo,
pub json_schema_dialect: Option<String>,
pub servers: Vec<Server>,
pub paths: BTreeMap<String, PathItem>,
pub webhooks: BTreeMap<String, PathItem>,
pub components: Option<Components>,
pub security: Vec<BTreeMap<String, Vec<String>>>,
pub tags: Vec<Tag>,
pub external_docs: Option<ExternalDocs>,
}Expand description
OpenAPI 3.1.0 specification
Fields§
§openapi: StringOpenAPI version (always “3.1.0”)
info: ApiInfoAPI information
json_schema_dialect: Option<String>JSON Schema dialect (optional, defaults to JSON Schema 2020-12)
servers: Vec<Server>Server list
paths: BTreeMap<String, PathItem>API paths
webhooks: BTreeMap<String, PathItem>Webhooks
components: Option<Components>Components
security: Vec<BTreeMap<String, Vec<String>>>Security requirements
Tags
external_docs: Option<ExternalDocs>External documentation
Implementations§
Source§impl OpenApiSpec
impl OpenApiSpec
pub fn new(title: impl Into<String>, version: impl Into<String>) -> OpenApiSpec
pub fn description(self, desc: impl Into<String>) -> OpenApiSpec
pub fn summary(self, summary: impl Into<String>) -> OpenApiSpec
pub fn path(self, path: &str, method: &str, operation: Operation) -> OpenApiSpec
Sourcepub fn register<T>(self) -> OpenApiSpecwhere
T: RustApiSchema,
pub fn register<T>(self) -> OpenApiSpecwhere
T: RustApiSchema,
Register a type that implements RustApiSchema
Sourcepub fn register_in_place<T>(&mut self)where
T: RustApiSchema,
pub fn register_in_place<T>(&mut self)where
T: RustApiSchema,
Register a type into this spec in-place.
pub fn server(self, server: Server) -> OpenApiSpec
pub fn security_scheme( self, name: impl Into<String>, scheme: SecurityScheme, ) -> OpenApiSpec
pub fn to_json(&self) -> Value
Trait Implementations§
Source§impl Clone for OpenApiSpec
impl Clone for OpenApiSpec
Source§fn clone(&self) -> OpenApiSpec
fn clone(&self) -> OpenApiSpec
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for OpenApiSpec
impl Debug for OpenApiSpec
Source§impl Default for OpenApiSpec
impl Default for OpenApiSpec
Source§fn default() -> OpenApiSpec
fn default() -> OpenApiSpec
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for OpenApiSpec
impl<'de> Deserialize<'de> for OpenApiSpec
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpenApiSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<OpenApiSpec, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for OpenApiSpec
impl Serialize for OpenApiSpec
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for OpenApiSpec
impl RefUnwindSafe for OpenApiSpec
impl Send for OpenApiSpec
impl Sync for OpenApiSpec
impl Unpin for OpenApiSpec
impl UnsafeUnpin for OpenApiSpec
impl UnwindSafe for OpenApiSpec
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
Mutably borrows from an owned value. Read more
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> 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>
Converts
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>
Converts
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