4 个版本 (2 个重大更改)

0.3.0 2023 年 4 月 20 日
0.2.1 2020 年 7 月 4 日
0.2.0 2020 年 5 月 30 日
0.1.0 2020 年 5 月 28 日

#81#page

MIT/Apache

18KB
369

什么是

Pagination 是一个 Rust 的分页查询库。

用法

构建分页请求参数

仅分页参数

 use pagination::{
 	PageParams,
 	OffsetParams,
 	DefaultIntoOffset
 };
 let page_param = PageParams::new(5, 20);
 let offset_param = page_param.into_offset();
 assert_eq!(offset_param.offset(), 80_u64);
 assert_eq!(offset_param.limit(), 20);

支持复杂参数

use pagination::{
 	PageRequest,
 	OffsetRequest,
 	DefaultIntoOffset
 };

 struct UserQuery {
    name : &'static str,
    age : u8
 }
 let page_req = PageRequest::new(5, 20, UserQuery{name : "alex", "age" : 18});
 let offset_req = page_req.into_offset();
 assert_eq!(offset_param.offset(), 80_u64);
 assert_eq!(offset_param.limit(), 20);

默认页面大小

如果用户输入的 页面大小0 或大于 max page size,则 DEFAULT_PAGE_SIZE 将作为页面大小。默认页面大小的值为 20,您可以通过功能 page-size-5page-size-10page-size-15page-size-20page-size-30page-size-40page-size-50 选择值。

包装数据库结果


use pagination::Page;

let page = Page::new(vec!(10,20,30), 10);
let f1 = page[0];
assert_eq!(f1 , 10);

许可

在以下任一许可下使用

依赖项

~185KB