pub trait OpenapiType {
    // Required method
    fn visit_type<V: Visitor>(visitor: &mut V);

    // Provided method
    fn schema() -> OpenapiSchema { ... }
}
Expand description

This trait needs to be implemented by every type that is being used in the OpenAPI Spec. It gives access to the OpenapiSchema of this type. It is provided for primitive types, String and the like. For use on your own types, there is a derive macro:

#[derive(OpenapiType)]
struct MyResponse {
	message: String
}

Required Methods§

Provided Methods§

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl OpenapiType for Value

source§

impl OpenapiType for bool

source§

impl OpenapiType for char

source§

impl OpenapiType for f32

source§

impl OpenapiType for f64

source§

impl OpenapiType for i8

source§

impl OpenapiType for i16

source§

impl OpenapiType for i32

source§

impl OpenapiType for i64

source§

impl OpenapiType for i128

source§

impl OpenapiType for isize

source§

impl OpenapiType for str

source§

impl OpenapiType for u8

source§

impl OpenapiType for u16

source§

impl OpenapiType for u32

source§

impl OpenapiType for u64

source§

impl OpenapiType for u128

source§

impl OpenapiType for ()

source§

impl OpenapiType for usize

source§

impl OpenapiType for NaiveDate

source§

impl OpenapiType for NaiveDateTime

source§

impl OpenapiType for Date

source§

impl OpenapiType for OffsetDateTime

source§

impl OpenapiType for PrimitiveDateTime

source§

impl OpenapiType for Uuid

source§

impl OpenapiType for Uuid

source§

impl OpenapiType for CString

source§

impl OpenapiType for String

source§

impl OpenapiType for CStr

source§

impl OpenapiType for NonZeroU8

source§

impl OpenapiType for NonZeroU16

source§

impl OpenapiType for NonZeroU32

source§

impl OpenapiType for NonZeroU64

source§

impl OpenapiType for NonZeroU128

source§

impl OpenapiType for NonZeroUsize

source§

impl<'a, T: ?Sized + OpenapiType> OpenapiType for &'a T

source§

impl<K, V> OpenapiType for BTreeMap<K, V>
where V: OpenapiType,

source§

impl<K, V, S> OpenapiType for IndexMap<K, V, S>
where V: OpenapiType,

source§

impl<K, V, S> OpenapiType for IndexMap<K, V, S>
where V: OpenapiType,

source§

impl<K, V, S> OpenapiType for LinkedHashMap<K, V, S>
where V: OpenapiType,

source§

impl<K, V, S> OpenapiType for HashMap<K, V, S>
where V: OpenapiType,

source§

impl<T> OpenapiType for [T]
where T: OpenapiType,

source§

impl<T> OpenapiType for IndexSet<T>
where T: OpenapiType,

source§

impl<T> OpenapiType for BTreeSet<T>
where T: OpenapiType,

source§

impl<T> OpenapiType for LinkedList<T>
where T: OpenapiType,

source§

impl<T> OpenapiType for VecDeque<T>
where T: OpenapiType,

source§

impl<T> OpenapiType for Vec<T>
where T: OpenapiType,

source§

impl<T, S> OpenapiType for HashSet<T, S>
where T: OpenapiType,

source§

impl<T: TimeZone> OpenapiType for Date<T>

source§

impl<T: TimeZone> OpenapiType for DateTime<T>

source§

impl<T: OpenapiType> OpenapiType for Option<T>

source§

impl<T: OpenapiType, const N: usize> OpenapiType for [T; N]

Implementors§