Struct jsonapi_rs::query::Query
source · pub struct Query {
pub _type: String,
pub include: Option<Vec<String>>,
pub fields: Option<HashMap<String, Vec<String>>>,
pub page: Option<PageParams>,
pub sort: Option<Vec<String>>,
pub filter: Option<HashMap<String, Vec<String>>>,
}
Expand description
JSON-API Query parameters
Fields§
§_type: String
§include: Option<Vec<String>>
§fields: Option<HashMap<String, Vec<String>>>
§page: Option<PageParams>
§sort: Option<Vec<String>>
§filter: Option<HashMap<String, Vec<String>>>
Implementations§
source§impl Query
impl Query
JSON-API Query parameters
sourcepub fn from_params(params: &str) -> Self
pub fn from_params(params: &str) -> Self
Takes a query parameter string and returns a Query
use jsonapi::query::Query;
let query = Query::from_params("include=author&fields[articles]=title,\
body&fields[people]=name&page[number]=3&page[size]=1");
match query.include {
None => assert!(false),
Some(include) => {
assert_eq!(include.len(), 1);
assert_eq!(include[0], "author");
}
}
sourcepub fn to_params(&self) -> String
pub fn to_params(&self) -> String
Builds a query parameter string from a Query
use jsonapi::query::{Query, PageParams};
let query = Query {
_type: "post".into(),
include: Some(vec!["author".into()]),
fields: None,
page: Some(PageParams {
size: 5,
number: 10,
}),
sort: None,
filter: None,
};
let query_string = query.to_params();
assert_eq!(query_string, "include=author&page[size]=5&page[number]=10");
Trait Implementations§
source§impl PartialEq for Query
impl PartialEq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more