Struct graphql_client::Error [−][src]
pub struct Error {
pub message: String,
pub locations: Option<Vec<Location>>,
pub path: Option<Vec<PathFragment>>,
pub extensions: Option<HashMap<String, Value>>,
}
Expand description
An element in the top-level errors
array of a response body.
This tries to be as close to the spec as possible.
use graphql_client::*;
let body: Response<ResponseData> = serde_json::from_value(json!({
"data": null,
"errors": [
{
"message": "The server crashed. Sorry.",
"locations": [{ "line": 1, "column": 1 }]
},
{
"message": "Seismic activity detected",
"path": ["underground", 20]
},
],
}))?;
let expected: Response<ResponseData> = Response {
data: None,
errors: Some(vec![
Error {
message: "The server crashed. Sorry.".to_owned(),
locations: Some(vec![
Location {
line: 1,
column: 1,
}
]),
path: None,
extensions: None,
},
Error {
message: "Seismic activity detected".to_owned(),
locations: None,
path: Some(vec![
PathFragment::Key("underground".into()),
PathFragment::Index(20),
]),
extensions: None,
},
]),
};
assert_eq!(body, expected);
Fields
message: String
The human-readable error message. This is the only required field.
locations: Option<Vec<Location>>
Which locations in the query the error applies to.
path: Option<Vec<PathFragment>>
Which path in the query the error applies to, e.g. ["users", 0, "email"]
.
extensions: Option<HashMap<String, Value>>
Additional errors. Their exact format is defined by the server.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for Error
impl UnwindSafe for Error
Blanket Implementations
Mutably borrows from an owned value. Read more