pub struct PaginationParams {
pub limit: Option<u64>,
pub offset: Option<u64>,
}Expand description
Query parameters for offset-based list endpoints.
limit must be between 1 and 100 (inclusive) and defaults to 20.
offset defaults to 0.
When the validator feature is enabled (the default), calling
.validate() enforces these constraints before the values are used.
§Examples
use api_bones::pagination::PaginationParams;
let p = PaginationParams::default();
assert_eq!(p.limit(), 20);
assert_eq!(p.offset(), 0);Fields§
§limit: Option<u64>Maximum number of items to return (1–100). Defaults to 20.
offset: Option<u64>Number of items to skip. Defaults to 0.
Implementations§
Source§impl PaginationParams
impl PaginationParams
Sourcepub fn new(limit: u64, offset: u64) -> Result<Self, ValidationError>
pub fn new(limit: u64, offset: u64) -> Result<Self, ValidationError>
Create validated pagination params.
Returns Err if limit is outside 1–100.
§Examples
use api_bones::pagination::PaginationParams;
let p = PaginationParams::new(20, 0).unwrap();
assert_eq!(p.limit(), 20);
assert_eq!(p.offset(), 0);
assert!(PaginationParams::new(0, 0).is_err());
assert!(PaginationParams::new(101, 0).is_err());Source§impl PaginationParams
impl PaginationParams
Sourcepub fn limit(&self) -> u64
pub fn limit(&self) -> u64
Resolved limit value (falls back to the default of 20).
§Examples
use api_bones::pagination::PaginationParams;
let p = PaginationParams { limit: None, offset: None };
assert_eq!(p.limit(), 20);
let p = PaginationParams { limit: Some(50), offset: None };
assert_eq!(p.limit(), 50);Sourcepub fn offset(&self) -> u64
pub fn offset(&self) -> u64
Resolved offset value (falls back to the default of 0).
§Examples
use api_bones::pagination::PaginationParams;
let p = PaginationParams { limit: None, offset: None };
assert_eq!(p.offset(), 0);
let p = PaginationParams { limit: None, offset: Some(100) };
assert_eq!(p.offset(), 100);Trait Implementations§
Source§impl Clone for PaginationParams
impl Clone for PaginationParams
Source§fn clone(&self) -> PaginationParams
fn clone(&self) -> PaginationParams
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PaginationParams
impl Debug for PaginationParams
Source§impl Default for PaginationParams
impl Default for PaginationParams
Source§impl<'de> Deserialize<'de> for PaginationParams
impl<'de> Deserialize<'de> for PaginationParams
Source§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
Source§impl PartialEq for PaginationParams
impl PartialEq for PaginationParams
Source§impl Serialize for PaginationParams
impl Serialize for PaginationParams
Source§impl Validate for PaginationParams
impl Validate for PaginationParams
Source§impl<'v_a> ValidateArgs<'v_a> for PaginationParams
impl<'v_a> ValidateArgs<'v_a> for PaginationParams
impl Eq for PaginationParams
impl StructuralPartialEq for PaginationParams
Auto Trait Implementations§
impl Freeze for PaginationParams
impl RefUnwindSafe for PaginationParams
impl Send for PaginationParams
impl Sync for PaginationParams
impl Unpin for PaginationParams
impl UnsafeUnpin for PaginationParams
impl UnwindSafe for PaginationParams
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