前言: IT培训网小编告诉大家,在某些情况下,当我们调用第三方接口时,他们的接口会进行分页,但是并不能满足我们的
IT培训网小编告诉大家,在某些情况下,当我们调用第三方接口时,他们的接口会进行分页,但是并不能满足我们的需求。然后我们需要自己做分页处理。总体思路是:
第一步:获取第三方接口调用返回的所有结果(可以循环获取)。具体例子请参考Step1。您应该根据自己的实际情况进行调整和修改。
第二步:根据返回值进行分页(调用方法Step2)。同时写了一个分页工具(Step3)供大家参考
Step1:循环获取第三方接口的所有数据
int pageIndex = 0;
int pageSize = 50;
//循环,分页获取所有数据并返回结果
做{
页面索引++;
//分页第三方接口的输入参数
requestType.pageInfo = new SoaPageInfoDto();
requestType.pageInfo.pageIndex = pageIndex;
requestType.pageInfo.pageSize = pageSize;
//调用第三方接口
soaRep = CreditCardOfflineSoaSrvClient.getInstance().queryTrainTicketUserStandardListNew(requestType);
if(soaRep == null || soaRep.queryUserInfoList == null){
休息;
}
结果列表.add(soaRep);
}while ((pageSize*pageIndex) <soaRep.pageDto.pageCount);/*循环结束条件是当前查询数大于返回结果数*/
Step2 : 在返回结果前手动分页
if (activityInfoList != null && activityInfoList.size()> 0) {
//实际请求的pageIndex和pageSize
int start = (req.pageIndex -1) * req.pageSize;
int end = req.pageIndex * req.pageSize;
response.activityInfos = PageHandleUtil.handlePage(activityInfoList, start, end);
}
Step3(PageHandleUtil工具类):
公共类 PageHandleUtil {
公共静态 <T> List<T> handlePage(List<T> source, int start, int end){
int 总计 = source.size();
结束=结束>总计?总计:结束;
如果(结束<=开始){
返回空值;
}
返回源.subList(开始,结束);
}
}
以上情况是项目实际应用中遇到的问题及解决方法。大家如果想了解更多相关知识,可以关注一下IT培训网的Java视频教程,里面的课程内容从入门到精通,细致全面,通俗易懂,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。
文章出自:http://qh.itpxw.cn/peixun/software/2022123686.html
文章标题:Java分页查询接口实现:根据所有返回数据手动分页
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...