pub trait JsonApiModel: Serializewhere
for<'de> Self: Deserialize<'de>,{
// Provided methods
fn from_jsonapi_resource(
resource: &Resource,
included: &Option<Resources>,
) -> Result<Self> { ... }
fn from_jsonapi_document(doc: &DocumentData) -> Result<Self> { ... }
fn to_jsonapi_resource(&self) -> (Resource, Option<Resources>) { ... }
fn to_jsonapi_document(&self) -> JsonApiDocument { ... }
}Expand description
A trait for any struct that can be converted from/into a
Resource. The only requirement is that your
struct has an id: String field.
You shouldn’t be implementing JsonApiModel manually, look at the
jsonapi_model! macro instead.
Provided Methods§
fn from_jsonapi_resource( resource: &Resource, included: &Option<Resources>, ) -> Result<Self>
Sourcefn from_jsonapi_document(doc: &DocumentData) -> Result<Self>
fn from_jsonapi_document(doc: &DocumentData) -> Result<Self>
Create a single resource object or collection of resource
objects directly from
DocumentData. This method
will parse the document (the data and included resources) in an
attempt to instantiate the calling struct.
Sourcefn to_jsonapi_resource(&self) -> (Resource, Option<Resources>)
fn to_jsonapi_resource(&self) -> (Resource, Option<Resources>)
Converts the instance of the struct into a
Resource
Sourcefn to_jsonapi_document(&self) -> JsonApiDocument
fn to_jsonapi_document(&self) -> JsonApiDocument
Converts the struct into a complete
JsonApiDocument
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.