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
- 
yamlEnables serde_norway serialization of OpenAPI objects.
- 
chronoAdd support for chronoDateTime,Date,NaiveDateandDurationtypes. By default these types are parsed tostringtypes with additionalformatinformation.format: date-timeforDateTimeandformat: dateforDateandNaiveDateaccording RFC3339 asISO-8601. To override defaultstringrepresentation users have to usevalue_typeattribute to override the type. See docs for more details.
- 
timeAdd support for timeOffsetDateTime,PrimitiveDateTime,Date, andDurationtypes. By default these types are parsed asstring.OffsetDateTimeandPrimitiveDateTimewill usedate-timeformat.Datewill usedateformat andDurationwill not have any format. To override defaultstringrepresentation users have to usevalue_typeattribute to override the type. See docs for more details.
- 
decimalAdd support for rust_decimalDecimaltype. By default it is interpreted asString. If you wish to change the format you need to override the type. See thevalue_typeinToSchemaderive docs.
- 
decimal-floatAdd support for rust_decimalDecimaltype. By default it is interpreted asNumber. This feature is mutually exclusive with decimal and allow to change the default type used in your documentation forDecimalmuch likeserde_with_floatfeature exposed by rust_decimal.
- 
uuidAdd support for uuid.Uuidtype will be presented asStringwith formatuuidin OpenAPI spec.
- 
ulidAdd support for ulid.Ulidtype will be presented asStringwith formatulidin OpenAPI spec.
- 
urlAdd support for url.Urltype will be presented asStringwith formaturiin OpenAPI spec.
- 
smallvecAdd support for smallvec.SmallVecwill be treated asVec.
- 
indexmapAdd support for indexmap. When enabledIndexMapwill be rendered as a map similar toBTreeMapandHashMap.
§Go beyond the surface
- Browse to examples for more comprehensive examples.
- Check ToResponsesandToResponsefor 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.
- rapidocrapidoc
- 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 salvolibrary in the RapiDoc.
- redocredoc
- 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 salvolibrary in the ReDoc.
- request_body 
- Implements OpenAPI Request Body types.
- response
- Implements OpenApi Responses.
- scalarscalar
- 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 salvolibrary 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 salvolibrary in the Swagger UI.
Structs§
- Array
- Array represents Vecorslicetype 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
OneOfcomposite object.
- Example
- Implements OpenAPI Example Object.
- ExternalDocs 
- 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 Schemas as properties to thisSchema.
- OpenApi
- Root object of the OpenAPI document.
- Operation
- Implements OpenAPI Operation Object object.
- Operations
- Collection for save Operations.
- Parameter
- Implements OpenAPI Parameter Object for Operation.
- Parameters
- Collection for OpenAPI Parameter Objects.
- PathItem 
- Implements OpenAPI Path Item Object what describes Operations 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 Schemas orResponses.
- RequestBody 
- Implements OpenAPI Request Body.
- Response
- Implements OpenAPI Response Object.
- Responses
- Implements OpenAPI Responses Object.
- Schemas
- Schemas collection for OpenApi.
- SecurityRequirement 
- OpenAPI security requirement object.
- Server
- Represents target server object. It can be used to alter server connection for path operations.
- ServerVariable 
- Implements OpenAPI Server Variable used to substitute variables in Server::url.
- ServerVariables 
- Server Variables information for OpenApi.
- Servers
- Collection for Serverobjects.
- Tag
- Implements OpenAPI Tag Object.
- Xml
- Implements OpenAPI Xml Object.
Enums§
- BasicType 
- Represents data type fragment of Schema.
- Deprecated
- Value used to indicate whether reusable schema, parameter or operation is deprecated.
- KnownFormat 
- Known schema format modifier property to provide fine detail of the primitive type.
- OpenApiVersion 
- Represents available OpenAPI versions.
- ParameterIn 
- In definition of Parameter.
- ParameterStyle 
- Defines how Parametershould be serialized.
- PathItem Type 
- Path item operation type.
- RefOr
- A Refor 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.
- SchemaFormat 
- Additional format for SchemaTypeto fine tune the data type used.
- SchemaType 
- Represents type of Schema.
- SecurityScheme 
- OpenAPI security scheme for path operations.
Traits§
- RouterExt 
- Router extension trait for openapi metadata.
- ToParameter
- Trait used to give Parameterinformation for OpenAPI.
- ToParameters
- Trait used to convert implementing type to OpenAPI parameters.
- ToRequestBody 
- 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§
- PathMappreserve-path-order
- The structure of the internal storage object paths.
- PropMappreserve-prop-order
- The structure of the internal storage object properties.
- TupleUnit 
- Represents nullabletype.
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 forToSchematrait.