okapi-operation
Library which allow to generate OpenAPI's operation definitions (using types from okapi
crate) with procedural
macro #[openapi]
.
Example (with axum-integration feature).
use ;
use ;
use Deserialize;
async
async
Features
macro
: enables re-import of#[openapi]
macro (enabled by default);axum-integration
: enables integration withaxum
(https://github.com/tokio-rs/axum) crate (implement traits for certainaxum
types):- Compatibility with
axum
: since integration heavely rely onaxum
types, this crate will be compatible only with few (maybe even one) last versions ofaxum
; - Currently supported
axum
versions:0.7.x
.
- Compatibility with
yaml
: enables ability to serve the spec in yaml format in case of presentAccept
header withyaml
value. Otherwise, in case of valuesjson|*/*
or empty,json
's being served (currently affects onlyaxum-integration
).
TODO
- support examples on MediaType or Parameter (examples supported on types via
JsonSchema
macro) - support inferring schemas of parameters from function definitions
- support for renaming or changing paths to okapi/schemars/okapi-operations in macro
- more examples
- introduce MSRV policy
- ...