为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第1天 封装分页请求参数和返回参数

标签:
Java

课程名称: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下

这次学习了大概半小时,写笔记又花了一段时间,梳理笔记的过程就相当于复习一遍了


https://img1.sycdn.imooc.com//62f91ac900012ab016170658.jpg

https://img1.sycdn.imooc.com//62f91b3b0001145308660761.jpg



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
0
获赞与收藏
0

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消