gout
gout copied to clipboard
分页迭代器
背景
分页是现在API里面很常见的一个用法,但是有个问题 分页的是非标准化的技术。本issue尝试在非标准化和实用性之间取得平衡点。
伪代码如下,可能会改变
- 默认
gout.GET("url").F().
Page().Range(0/*从零页开始*/, 20/*每页数据条目*/, -1/*取多少页数据, -1表示一直循环下去*/, func(c *gout.Context){
}).Do()
- 特殊(如果分页所需的page和size不是常见的单词,可以使用Custom重新设定)
gout.GET("url").F().
Page().
Custom(gout.Page, "p", gout.Size, "S").
Range(0/*从零页开始*/, 20/*每页数据条目*/, -1/*取多少页数据, -1表示一直循环下去*/, func(c *gout.Context){
}).Do()
对于form data和别的数据,需要思考是否提供支持。
感觉是一个伪需求,不如支持 clone 先创建一个 base gout 实例,然后可以 clone 出来一个新的实例,修改参数 这样的好处是它还能支持并发
hi @yinheli ,一般访问分页数据,你那边是怎么处理的?
因为业务太复杂了,建议基础库不要做这样的事情,交给业务层代码去自行二次封装就行
有道理。