我有头部、最后、页面、限制和偏移过滤器的逻辑模块。
如 :
../example/param 如果没有查询,返回所有值
../example/param?limit=10 返回前 10 个值
..example/param?offset=3 从数字 4 到 23 返回值(默认限制为 20)
..example/param?limit=15&offset=2 返回值 3 到 17
../example/param?page=2&limit=5 返回值 6 到 10
../example/param?head=15 返回前 15 个值
../example/param?last=15 返回最后 15 个值
../example/param?head=8&last=4 返回错误
../example/param?page=3&offset=4 返回错误
../example/param?page=2&limit=5&offset=6 返回错误
我有默认参数,如:
var defaultPageParameter = PageParameter{
Limit: 20,
Offset: 0,
Page: 1,
Head: 0,
Last: 0,
}
limit := pagePara.Limit
offset := pagePara.Offset
page := pagePara.Page
head := pagePara.Head
last := pagePara.Last
defaultPage := defaultPageParameter.Page
defaultLimit := defaultPageParameter.Limit
defaultOffset := defaultPageParameter.Offset
paginate := (page*limit)-limit
if else 我已经写了一些表达式,但是这段代码真的太多了,我想简化代码。
犯罪嫌疑人X
相关分类