java数据分装到page_springboot自定义参数解析器-实现分页请求数据封装

很多项目在开发的时候都会遇到分页的问题,一般分页主要用到两个参数page和limit,page是第几页,limit是请求多少条数据。而一般在请求数据库的时候我们用不到page参数,用到的是用page和limit计算出来的index参数。index的计算方法为 index=(page-1)*limit;。如果在搭建的框架没有任何措施的时候,那么page和limit参数需要我们手动写代码去判断其是否合法(page和limit必须大于0),并且index需要我们自己去计算。这时我们就可以自定义一个参数解析器,在请求接口之前让框架帮我们完成判断和计算的任务,我们只需要写一个注解即可。

自定义分页注解

这个注解用在controller的page参数上,下方会有示例。

自定义参数解析器

如何封装请求参数,都可以这个解析器中按照我们的意愿完成,前提是controller的参数上必须携带Page注解。

封装分页参数PageParam类

自定义异常类

最后完成配置自定义参数解析器

测试

上述配置完成以后 写一个测试的方法:注意参数加了@Page注解

正常请求时,如:.../test?page=2&limit=10 打印如下:PageParam [page=2, limit=10, index=10]并且正常返回数据,当缺失某个参数的时候如:.../test?page=2,就会报如下错误:

b28777ac54bd20178418ded1a4bff53d.png

这样返回错误信息似乎不太雅观。接下来就写一个配置,如果出现PageException异常的时候,将其拦截,并且返回json格式的提示,配置如下。

这样再报错的时候就会返回json数据:

40eaa86bfd698ca07212c582d9596f74.png

经过上述配置以后,再写分页接口的时候,只需要在controller中加 @Page PageParam page即可,参数的判断和计算都由框架完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值