分页协议
以用户分页为准:SysUserController.page 是 GET /system/user/page,入参 SysUserQuery extends PageQuery,返回 RespInfo<IPage<SysUser>>。
列表在 data.records。AiCrudPage 的 listDataField 默认就是 records。
请求
PageQuery(forge-starter-core):
| 字段 | 默认 | 说明 |
|---|---|---|
pageNum | 1,小于 1 当 1 | 页码 |
pageSize | 10,小于 1 当 10,大于 100 截成 100 | 每页条数 |
orderByColumn | 空 | 排序列 |
isAsc | 空 | asc / desc |
查询条件和分页字段一起作为 query / 表单参数。用户列表是 GET /system/user/page。
GET /system/user/page?pageNum=1&pageSize=10toPage() 转成 MyBatis-Plus Page。
响应
外层是 RespInfo:code、message、data、timestamp。没有 msg。
data 是 MyBatis-Plus Page / IPage 序列化结果,常用字段:
| 字段 | 说明 |
|---|---|
records | 当前页行 |
total | 总行数 |
size | 每页条数 |
current | 当前页 |
pages | 总页数 |
json
{
"code": 200,
"message": "操作成功",
"data": {
"records": [],
"total": 0,
"size": 10,
"current": 1,
"pages": 0
},
"timestamp": 1710000000000
}后端写法
java
@GetMapping("/page")
public RespInfo<IPage<SysUser>> page(SysUserQuery query) {
return RespInfo.success(userService.selectUserPage(query));
}LIMIT 由分页插件加,XML 里不要手写。
