Crate openapiv3_1

Source
Expand description

Rust implementation of OpenAPI Spec v3.1.x

A lof the code was taken from utoipa.

The main difference is the full JSON Schema 2020-12 Definitions.

See the changelog for a full release history.

§Feature flags

  • docs — Enables changelog and documentation of feature flags
  • debug — Enable derive(Debug) on all types
  • yaml — Enables to_yaml function.

§Alternatives

  • openapiv3: Implements the openapi v3.0.x spec, does not implement full json schema draft 2020-12 spec.
  • utoipa: A fully fletched openapi-type-generator implementing some of the v3.1.x spec.
  • schemars: A fully fletched jsonschema-type-generator implementing some of the json schema draft 2020-12 spec.

§License

This project is licensed under the MIT or Apache-2.0 license. You can choose between one of them if you use this work.

SPDX-License-Identifier: MIT OR Apache-2.0

Modules§

content
Implements content object for request body and response.
encoding
Implements encoding object for content.
example
Implements OpenAPI Example Object can be used to define examples for Responses and RequestBodys.
extensions
Implements OpenAPI Extensions.
external_docs
Implements OpenAPI External Docs Object types.
header
Implements OpenAPI Header Object types.
info
Implements OpenAPI Metadata types.
link
Implements Open API Link Object for responses.
path
Implements OpenAPI Path Object types.
request_body
Implements OpenAPI Request Body types.
response
Implements OpenApi Responses.
schema
Implements OpenAPI Schema Object types which can be used to define field properties, enum values, array or object types.
security
Implements OpenAPI Security Schema types.
server
Implements OpenAPI Server Object types to configure target servers.
tag
Implements OpenAPI Tag Object types.
xml
Implements OpenAPI Xml Object types.
changelog
Changelogs generated by scuffle_changelog

Re-exports§

pub use self::content::Content;
pub use self::content::ContentBuilder;
pub use self::external_docs::ExternalDocs;
pub use self::header::Header;
pub use self::header::HeaderBuilder;
pub use self::info::Contact;
pub use self::info::ContactBuilder;
pub use self::info::Info;
pub use self::info::InfoBuilder;
pub use self::info::License;
pub use self::info::LicenseBuilder;
pub use self::path::HttpMethod;
pub use self::path::PathItem;
pub use self::path::Paths;
pub use self::path::PathsBuilder;
pub use self::response::Response;
pub use self::response::ResponseBuilder;
pub use self::response::Responses;
pub use self::response::ResponsesBuilder;
pub use self::schema::Components;
pub use self::schema::ComponentsBuilder;
pub use self::schema::Discriminator;
pub use self::schema::Object;
pub use self::schema::Ref;
pub use self::schema::Schema;
pub use self::schema::Type;
pub use self::security::SecurityRequirement;
pub use self::server::Server;
pub use self::server::ServerBuilder;
pub use self::server::ServerVariable;
pub use self::server::ServerVariableBuilder;
pub use self::tag::Tag;

Structs§

OpenApi
Root object of the OpenAPI document.
OpenApiBuilder
Use builder syntax to set the inputs and finish with build().

Enums§

OpenApiVersion
Represents available OpenAPI versions.
Deprecated
Value used to indicate whether reusable schema, parameter or operation is deprecated.
RefOr
A Ref or some other type T.