json_resp/
lib.rs

1//! This crate contains a set of structs and macros to ease the implementation of REST apis
2
3mod response;
4
5pub use json_resp_derive::JsonError;
6pub use response::{JsonError, JsonListMeta, JsonResponse, Nothing};
7
8#[cfg(feature = "openapi")]
9mod utoipa_impls;
10
11#[cfg(feature = "openapi")]
12pub use utoipa_impls::CombineErrors;
13
14pub type JsonResult<T, E = Nothing> = Result<JsonResponse<T>, JsonError<E>>;
15
16#[doc(hidden)]
17pub mod __private {
18    pub use axum::response::{IntoResponse, Response};
19
20    #[cfg(feature = "log")]
21    pub use log::error as log_error;
22
23    #[cfg(feature = "openapi")]
24    pub mod utoipa {
25        pub use utoipa::{
26            openapi::{
27                ContentBuilder, KnownFormat, ObjectBuilder, Ref, RefOr, Response, ResponseBuilder,
28                ResponsesBuilder, Schema, SchemaFormat, SchemaType,
29            },
30            IntoResponses, ToResponse, ToSchema,
31        };
32    }
33}