课程名称:Spring Boot+Vue3前后端分离,实战wiki知识库系统
课程章节:6-5 封装分页请求参数和返回参数
主讲老师:甲蛙
课程内容:
分页请求参数封装PageReq
分页返回参数封装PageResp
课程收获:
分页请求参数封装PageReq
新建一个类PageReq,参数只有page和size,分别为请求的页数和每页的个数。
有时查询会根据电子书名name来查,同时只在该页查询,可以使EbookReq继承PageReq实现。
使用PageHelper.startPage(req.getPage(),req.getSize());开始分页
测试:GET http://localhost:8880/ebook/list?page=1&size=4
{ "success": true, "message": null, "content": [ { "id": 1, "name": "Spring Boot 入门教程", "category1Id": 1, "category2Id": 2, "description": "零基础入门 Java 开发,企业级应用开发最佳首选框架", "cover": "/image/cover1.png", "docCount": 4, "viewCount": 5, "voteCount": null }, { "id": 2, "name": "Vue 入门教程", "category1Id": null, "category2Id": null, "description": "零基础入门 Vue 开发,企业级应用开发最佳首选框架", "cover": "/image/cover2.png", "docCount": null, "viewCount": null, "voteCount": null }, { "id": 3, "name": "Python 入门教程", "category1Id": null, "category2Id": null, "description": "零基础入门 Python 开发,企业级应用开发最佳首选框架", "cover": null, "docCount": null, "viewCount": null, "voteCount": null }, { "id": 4, "name": "Mysql 入门教程", "category1Id": null, "category2Id": null, "description": "零基础入门 Mysql 开发,企业级应用开发最佳首选框架", "cover": null, "docCount": null, "viewCount": null, "voteCount": null } ] }
分页返回参数封装PageResp
新建一个类PageResp,参数只有总数 long total 和返回的数据列表 List<T> list; 因为列表内对象的类型不确定,所以定义为泛型。
根据上一节得到总行数和返回列表的方法给pageResp赋值
PageResp<EbookResp> pageResp=new PageResp<>(); pageResp.setTotal(pageInfo.getTotal()); pageResp.setList(list); return pageResp;
再次测试
{ "success": true, "message": null, "content": { "total": 5, "list": [ { "id": 1, "name": "Spring Boot 入门教程", "category1Id": 1, "category2Id": 2, "description": "零基础入门 Java 开发,企业级应用开发最佳首选框架", "cover": "/image/cover1.png", "docCount": 4, "viewCount": 5, "voteCount": null }, { "id": 2, "name": "Vue 入门教程", "category1Id": null, "category2Id": null, "description": "零基础入门 Vue 开发,企业级应用开发最佳首选框架", "cover": "/image/cover2.png", "docCount": null, "viewCount": null, "voteCount": null }, { "id": 3, "name": "Python 入门教程", "category1Id": null, "category2Id": null, "description": "零基础入门 Python 开发,企业级应用开发最佳首选框架", "cover": null, "docCount": null, "viewCount": null, "voteCount": null }, { "id": 4, "name": "Mysql 入门教程", "category1Id": null, "category2Id": null, "description": "零基础入门 Mysql 开发,企业级应用开发最佳首选框架", "cover": null, "docCount": null, "viewCount": null, "voteCount": null } ] } }
与上一个返回结果不同的是这次有了总数total,并且列表数据放在了list下
这次学习了大概半小时,写笔记又花了一段时间,梳理笔记的过程就相当于复习一遍了