Expand description
OpenAPI support for salvo, modified from utoipa, It uses simple proc macros which you can use to annotate your code to have items documented.
§Crate Features
-
yaml
Enables serde_norway serialization of OpenAPI objects. -
chrono
Add support for chronoDateTime
,Date
,NaiveDate
andDuration
types. By default these types are parsed tostring
types with additionalformat
information.format: date-time
forDateTime
andformat: date
forDate
andNaiveDate
according RFC3339 asISO-8601
. To override defaultstring
representation users have to usevalue_type
attribute to override the type. See docs for more details. -
time
Add support for timeOffsetDateTime
,PrimitiveDateTime
,Date
, andDuration
types. By default these types are parsed asstring
.OffsetDateTime
andPrimitiveDateTime
will usedate-time
format.Date
will usedate
format andDuration
will not have any format. To override defaultstring
representation users have to usevalue_type
attribute to override the type. See docs for more details. -
decimal
Add support for rust_decimalDecimal
type. By default it is interpreted asString
. If you wish to change the format you need to override the type. See thevalue_type
inToSchema
derive docs. -
decimal-float
Add support for rust_decimalDecimal
type. By default it is interpreted asNumber
. This feature is mutually exclusive with decimal and allow to change the default type used in your documentation forDecimal
much likeserde_with_float
feature exposed by rust_decimal. -
uuid
Add support for uuid.Uuid
type will be presented asString
with formatuuid
in OpenAPI spec. -
ulid
Add support for ulid.Ulid
type will be presented asString
with formatulid
in OpenAPI spec. -
url
Add support for url.Url
type will be presented asString
with formaturi
in OpenAPI spec. -
smallvec
Add support for smallvec.SmallVec
will be treated asVec
. -
indexmap
Add support for indexmap. When enabledIndexMap
will be rendered as a map similar toBTreeMap
andHashMap
.
§Go beyond the surface
- Browse to examples for more comprehensive examples.
- Check
ToResponses
andToResponse
for examples on deriving responses. - More about OpenAPI security in security documentation.
Re-exports§
pub use endpoint::Endpoint;
pub use endpoint::EndpointArgRegister;
pub use endpoint::EndpointOutRegister;
Modules§
- endpoint
- Enhanced of handler for generate OpenAPI documentation.
- extract
- Request extractors for the API operation.
- info
- Implements OpenAPI Metadata types.
- naming
- Module for name schemas.
- operation
- Implements OpenAPI Operation Object types.
- parameter
- Implements OpenAPI Parameter Object types.
- path
- Implements OpenAPI Path Object types.
- rapidoc
rapidoc
- This crate implements necessary boiler plate code to serve RapiDoc via web server. It
works as a bridge for serving the OpenAPI documentation created with
salvo
library in the RapiDoc. - redoc
redoc
- This crate implements necessary boiler plate code to serve ReDoc via web server. It
works as a bridge for serving the OpenAPI documentation created with
salvo
library in the ReDoc. - request_
body - Implements OpenAPI Request Body types.
- response
- Implements OpenApi Responses.
- scalar
scalar
- This crate implements necessary boiler plate code to serve Scalar via web server. It
works as a bridge for serving the OpenAPI documentation created with
salvo
library in the Scalar. - 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.
- swagger_
ui swagger-ui
- This crate implements necessary boiler plate code to serve Swagger UI via web server. It
works as a bridge for serving the OpenAPI documentation created with
salvo
library in the Swagger UI.
Structs§
- Array
- Array represents
Vec
orslice
type of items. - Components
- Implements OpenAPI Components Object which holds supported reusable objects.
- Contact
- OpenAPI Contact information of the API.
- Content
- Content holds request body content or response content.
- Discriminator
- OpenAPI Discriminator object which can be optionally used together with
OneOf
composite object. - Example
- Implements OpenAPI Example Object.
- External
Docs - Reference of external resource allowing extended documentation.
- Header
- Implements OpenAPI Header Object for response headers.
- Info
- Examples
- License
- OpenAPI License information of the API.
- Object
- Implements subset of OpenAPI Schema Object which allows
adding other
Schema
s as properties to thisSchema
. - OpenApi
- Root object of the OpenAPI document.
- Operation
- Implements OpenAPI Operation Object object.
- Operations
- Collection for save
Operation
s. - Parameter
- Implements OpenAPI Parameter Object for
Operation
. - Parameters
- Collection for OpenAPI Parameter Objects.
- Path
Item - Implements OpenAPI Path Item Object what describes
Operation
s available on a single path. - Paths
- Implements OpenAPI Path Object types.
- Ref
- Implements OpenAPI Reference Object that can be used to reference
reusable components such as
Schema
s orResponse
s. - Request
Body - Implements OpenAPI Request Body.
- Response
- Implements OpenAPI Response Object.
- Responses
- Implements OpenAPI Responses Object.
- Schemas
- Schemas collection for OpenApi.
- Security
Requirement - OpenAPI security requirement object.
- Server
- Represents target server object. It can be used to alter server connection for path operations.
- Server
Variable - Implements OpenAPI Server Variable used to substitute variables in
Server::url
. - Server
Variables - Server Variables information for OpenApi.
- Servers
- Collection for
Server
objects. - Tag
- Implements OpenAPI Tag Object.
- Xml
- Implements OpenAPI Xml Object.
Enums§
- Basic
Type - Represents data type fragment of
Schema
. - Deprecated
- Value used to indicate whether reusable schema, parameter or operation is deprecated.
- Known
Format - Known schema format modifier property to provide fine detail of the primitive type.
- Open
ApiVersion - Represents available OpenAPI versions.
- Parameter
In - In definition of
Parameter
. - Parameter
Style - Defines how
Parameter
should be serialized. - Path
Item Type - Path item operation type.
- RefOr
- A
Ref
or some other typeT
. - Required
- Value used to indicate whether parameter or property is required.
- Schema
- Is super type for OpenAPI Schema Object. Schema is reusable resource what can be
referenced from path operations and other components using
Ref
. - Schema
Format - Additional format for
SchemaType
to fine tune the data type used. - Schema
Type - Represents type of
Schema
. - Security
Scheme - OpenAPI security scheme for path operations.
Traits§
- Router
Ext - Router extension trait for openapi metadata.
- ToParameter
- Trait used to give
Parameter
information for OpenAPI. - ToParameters
- Trait used to convert implementing type to OpenAPI parameters.
- ToRequest
Body - This trait is implemented to document a type (like an enum) which can represent request body, to be used in operation.
- ToResponse
- This trait is implemented to document a type which represents a single response which can be referenced or reused as a component in multiple operations.
- ToResponses
- This trait is implemented to document a type (like an enum) which can represent multiple responses, to be used in operation.
- ToSchema
- Trait for implementing OpenAPI Schema object.
Type Aliases§
- PathMap
- The structure of the internal storage object paths.
- PropMap
- The structure of the internal storage object properties.
- Tuple
Unit - Represents
nullable
type.
Attribute Macros§
Derive Macros§
- ToParameters
- Generate parameters from struct’s fields.
- ToResponse
- Generate reusable OpenApi response.
- ToResponses
- Generate responses with status codes what can be used in
OpenApi
. - ToSchema
- This is
#[derive]
implementation forToSchema
trait.