Struct artemis::Response[][src]

pub struct Response<Data: Clone> {
    pub debug_info: Option<DebugInfo>,
    pub data: Option<Data>,
    pub errors: Option<Vec<Error>>,
}

The generic shape taken by the responses of GraphQL APIs.

This will generally be used with the ResponseData struct from a derived module.

Spec

use artemis::Response;

let body: Response<ResponseData> = serde_json::from_value(json!({
    "data": {
        "users": [{"id": 13}],
        "dogs": [{"name": "Strelka"}],
    },
    "errors": [],
}))?;

let expected: Response<ResponseData> = Response {
    data: Some(ResponseData {
        users: vec![User { id: 13 }],
        dogs: vec![Dog { name: "Strelka".to_owned() }],
    }),
    errors: Some(vec![]),
    debug_info: None
};

assert_eq!(body, expected);

Fields

debug_info: Option<DebugInfo>

The debug info if in test config, an empty struct otherwise

data: Option<Data>

The absent, partial or complete response data.

errors: Option<Vec<Error>>

The top-level errors returned by the server.

Trait Implementations

impl<Data: Clone> Clone for Response<Data>[src]

impl<Data: Debug + Clone> Debug for Response<Data>[src]

impl<'de, Data: Clone> Deserialize<'de> for Response<Data> where
    Data: Deserialize<'de>, 
[src]

impl<Data: PartialEq + Clone> PartialEq<Response<Data>> for Response<Data>[src]

impl<Data: Clone> Serialize for Response<Data> where
    Data: Serialize
[src]

impl<Data: Clone> StructuralPartialEq for Response<Data>[src]

Auto Trait Implementations

impl<Data> RefUnwindSafe for Response<Data> where
    Data: RefUnwindSafe

impl<Data> Send for Response<Data> where
    Data: Send

impl<Data> Sync for Response<Data> where
    Data: Sync

impl<Data> Unpin for Response<Data> where
    Data: Unpin

impl<Data> UnwindSafe for Response<Data> where
    Data: UnwindSafe

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> Instrument for T[src]

impl<T> Instrument for T[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.