Trait jsonapi_rs::model::JsonApiModel
source · 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
Object Safety§
This trait is not object safe.