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
JSON-API Query parameters
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_rs::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_rs::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§
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
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