nodejs用limit写分页接口(详细)

💂 个人网站: 【紫陌】【笔记分享网】
💅 想寻找共同学习交流、共同成长的伙伴, 请点击【前端学习交流群】

今天要用node写项目分页接口,今天踩了几个坑,特此写个文章加深记忆!也对limit加深影响。

先了解limit

需要pageSizepageNum两个参数,其它的看你需求。pageSize是分页每页对应的条数,pageNum是第几页, 分页的公式:  pagenum =( pagenum - 1 ) * pagesize

用法:limit  pagenum =( pagenum - 1 ) * pagesize ,pagesize  

1.先看接口文档

请求URL:

  • /my/article/list

请求方式:

  • GET
参数名必选类型说明
pagenumint页码值
pagesizeint每页显示多少条数据
cate_idstring文章分类的 Id
statestring文章的状态,可选值有:已发布、草稿

这是接口文档的要求

2.定义路由

router->article.js

//获取文章列表
router.get('/list',article_handler.getArticle)

3.书写路由逻辑(重点)

router-handeler->article.js

注意: pagesize前端传来的可选参数,如果没传给个默认值。req.body.pagesize传来的是字符串需要parseInt()函数转化

//文章列表显示处理函数
exports.getArticle = (req, res) => {
  //定义SQL语句
	const sql = `  SELECT a.Id,a.title,a.pub_date,a.state,b.name
  FROM ev_articles a ,ev_article_cate b 
  WHERE a.is_delete = 0 AND  ? = b.Id AND b.is_delete = 0 AND a.state = ?
  ORDER BY a.id ASC 
  LIMIT ? , ? `
  //解构请求带来的参数
  const {cate_id,state} = req.body 
  //pagesize一页展示多条数据  pagesize前端传来的可选参数,如果没传给个默认值5。传来的是字符串需要parseInt()函数转化
  const pagesize = parseInt(req.body.pagesize) || 5
  //pagenum当前第几页  pagenum前端传来的可选参数,如果没传给个默认值1。传来的是字符串需要parseInt()函数转化
  const pagenum =( parseInt(req.body.pagenum) - 1 )* pagesize || 1
  //执行SQL语句
	db.query(sql,[cate_id,state,pagenum,pagesize], (err, results) => {
		// 执行 SQL 语句失败
		if (err) return res.cc(err)
		// 执行 SQL 语句成功
		res.send({
			status: 0,
			message: '获取文章列表成功!',
			data: results,
		})
	})
}

 大致基本就是这样了!!!

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值