1#![allow(rustdoc::bare_urls)]
2#![doc = include_str!("../docs/root.md")]
3
4pub use anyhow;
5#[doc(no_inline)]
6pub use okapi::{
7 self,
8 openapi3::OpenApi,
9 schemars::{self, JsonSchema},
10};
11#[cfg(feature = "macro")]
12#[doc(inline)]
13pub use okapi_operation_macro::openapi;
14
15#[cfg(feature = "axum")]
16pub mod axum_integration;
17
18use okapi::openapi3::Operation;
19
20#[doc(hidden)]
21pub use self::builder::BuilderOptions;
22pub use self::{
23 builder::OpenApiBuilder,
24 components::{Components, ComponentsBuilder},
25 to_media_types::ToMediaTypes,
26 to_responses::ToResponses,
27};
28
29mod builder;
30mod components;
31mod to_media_types;
32mod to_responses;
33
34pub type Empty = ();
36
37pub type OperationGenerator =
40 fn(&mut Components, &BuilderOptions) -> Result<Operation, anyhow::Error>;
41
42#[cfg(feature = "macro")]
43#[doc(hidden)]
44pub mod _macro_prelude {
45 pub use okapi;
46
47 pub use crate::{Components, ToMediaTypes, ToResponses};
48}