[][src]Struct siren_types::Entity

pub struct Entity {
    pub class: Vec<String>,
    pub properties: Value,
    pub entities: Vec<SubEntity>,
    pub links: Vec<NavigationalLink>,
    pub actions: Vec<Action>,
    pub title: Option<String>,
}

Fields

class: Vec<String>

Describes the nature of an entity's content based on the current representation. Possible values are implementation-dependent and should be documented. MUST be an array of strings. Optional.

properties: Value

A set of key-value pairs that describe the state of an entity. In JSON Siren, this is an object such as { "name": "Kevin", "age": 30 }. Optional.

entities: Vec<SubEntity>

A collection of related sub-entities. If a sub-entity contains an href value, it should be treated as an embedded link. Clients may choose to optimistically load embedded links. If no href value exists, the sub-entity is an embedded entity representation that contains all the characteristics of a typical entity. One difference is that a sub-entity MUST contain a rel attribute to describe its relationship to the parent entity.

links: Vec<NavigationalLink>

A collection of items that describe navigational links, distinct from entity relationships. Link items should contain a rel attribute to describe the relationship and an href attribute to point to the target URI. Entities should include a link rel to self. In JSON Siren, this is represented as "links": [{ "rel": ["self"], "href": "http://api.x.io/orders/1234" }] Optional.

actions: Vec<Action>

A collection of action objects, represented in JSON Siren as an array such as { "actions": [{ ... }] }. See Actions. Optional

title: Option<String>

Descriptive text about the entity. Optional.

Implementations

impl Entity[src]

pub fn with_properties<S: Serialize>(
    self,
    serializable: S
) -> Result<Self, EntityBuilderError>
[src]

pub fn with_class_member(self, class_member: impl Into<String>) -> Self[src]

pub fn with_action(self, action: Action) -> Self[src]

pub fn push_sub_entity(&mut self, sub_entity: SubEntity)[src]

Trait Implementations

impl Debug for Entity[src]

impl Default for Entity[src]

impl<'de> Deserialize<'de> for Entity[src]

impl Serialize for Entity[src]

Auto Trait Implementations

impl RefUnwindSafe for Entity

impl Send for Entity

impl Sync for Entity

impl Unpin for Entity

impl UnwindSafe for Entity

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.