Trait seamless::ApiBody [−][src]
Any type that implements this trait can be described in terms of ApiBodyInfo
, and
can potentially also be serialized or deserizlied from JSON.
This type should not be manually implemented in most cases; instead the ApiBody
macro should be relied on to ensure that the description and shape of the type are consistent with how
it will be serialized.
In some cases however, it is necessary to manually implement this for a type (for example, an external type).
Required methods
fn api_body_info() -> ApiBodyInfo
[src]
This returns information about the shape of the type and description of parts of it.
Provided methods
fn to_json_vec(&self) -> Vec<u8> where
Self: Serialize,
[src]
Self: Serialize,
Serialize the type to JSON.
fn to_json_value(&self) -> Value where
Self: Serialize,
[src]
Self: Serialize,
Serialize the type to a serde_json::Value
.
fn from_json_slice(bytes: &[u8]) -> Result<Self> where
Self: DeserializeOwned,
[src]
Self: DeserializeOwned,
Deserialize from bytes containing a JSON value.
fn from_json_value(value: Value) -> Result<Self> where
Self: DeserializeOwned,
[src]
Self: DeserializeOwned,
Deserialize from a serde_json::Value
.
Implementations on Foreign Types
impl<T: ApiBody> ApiBody for Box<T>
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<T: ApiBody> ApiBody for Vec<T>
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<T: ApiBody> ApiBody for HashMap<String, T>
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<T: ApiBody> ApiBody for Option<T>
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for i8
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for i16
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for i32
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for i64
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for isize
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for u8
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for u16
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for u32
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for u64
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for usize
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for f32
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for f64
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicI8
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicI16
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicI32
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicI64
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicIsize
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicU8
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicU16
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicU32
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicU64
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicUsize
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for bool
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for AtomicBool
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for String
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<'a> ApiBody for &'a str
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for ()
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody> ApiBody for (A,)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody> ApiBody for (A, B)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody> ApiBody for (A, B, C)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody> ApiBody for (A, B, C, D)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody, E: ApiBody> ApiBody for (A, B, C, D, E)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody, E: ApiBody, F: ApiBody> ApiBody for (A, B, C, D, E, F)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody, E: ApiBody, F: ApiBody, G: ApiBody> ApiBody for (A, B, C, D, E, F, G)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody, E: ApiBody, F: ApiBody, G: ApiBody, H: ApiBody> ApiBody for (A, B, C, D, E, F, G, H)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody, E: ApiBody, F: ApiBody, G: ApiBody, H: ApiBody, I: ApiBody> ApiBody for (A, B, C, D, E, F, G, H, I)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<A: ApiBody, B: ApiBody, C: ApiBody, D: ApiBody, E: ApiBody, F: ApiBody, G: ApiBody, H: ApiBody, I: ApiBody, J: ApiBody> ApiBody for (A, B, C, D, E, F, G, H, I, J)
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for Value
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for Uuid
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl ApiBody for NaiveDateTime
[src]
fn api_body_info() -> ApiBodyInfo
[src]
Implementors
impl ApiBody for Binary
[src]
fn api_body_info() -> ApiBodyInfo
[src]
impl<T> ApiBody for Json<T> where
T: ApiBody,
[src]
T: ApiBody,