接口调用外部系统返回数据,本系统做数据分页封装

场景:

  本系统用的Mybatis分页插件PageHelper,调用了外部系统返回的数据为String类型的JSON串,数据量毕竟多,界面需要分页展示。

解决思路:

返回数据转List,然后把多个List放到一个List里,然后在从这个List里进行分页,前端只需要传一个页码过来即可,

部分代码如下:

Service代码
ResponseMsg<AppResp> responseMsg = new ResponseMsg<>();
int currentPage = req.getCurrentPage();int pageSize = req.getPageSize();
String str= "[{"id":1546051323216,"name":"TPCE测试流程"},{"id":1546051343822,"name":"TPC-DS测试流程"}]";//例子
List list = JSONArray.parseArray( str );
List<Object> objects = new ArrayList<>();int num = (currentPage > 1 ? (currentPage - 1) * pageSize : 0);assert list != null;for (int i = 0; i < pageSize && i < list.size() - num; i++) {    objects.add( list.get( num + i ) );}
AppResp appResp = new AppResp();appResp.setList( objects );responseMsg.setResult( appResp );responseMsg.setCurrentPage( currentPage );responseMsg.setTotal( list.size() );

js代码:

$scope.list = [];$scope.currentPage = 1;$scope.pageSize = 10;$scope.getProcessList = function () {    PARAM_BODY.currentPage = $scope.currentPage;    PARAM_BODY.pageSize = $scope.pageSize;    $http({        method: ‘POST‘,        url: options.app_api + ‘/app/getProcessList‘,        data: JSON.stringify(PARAM_BODY)    }).success(function (data) {        $scope.list = data.result.list;        $scope.currentPage = data.currentPage;        $scope.total = data.total;    });};

原文地址:https://www.cnblogs.com/misterzhaoyan/p/10335386.html

时间: 2024-11-05 12:31:47

接口调用外部系统返回数据,本系统做数据分页封装的相关文章

[微信] 客服接口调用的时候返回 40003 Invalid OpenID

首先确认收件人在24小时内主动向公众号发过消息.该消息的 FromUserId 即是客服消息的 touser 参数的 OpenId 其次,确认使用的编码是 ASCII ,UTF-8无效!!!干了一下午.终于找到方法了. PostString 的测试样例: request.Method = "POST"; request.ContentType = "application/json"; request.Timeout = 5000; // Five seconds

ArcSight logger HTTPS 接口调用

一.服务器端 首先,假设你已经安装好了ArcSight logger 日志分析工具. 服务器最小配置为:内存12g.cpu * 2(不然不会安装成功) 可以通过以下链接打开:如果成功看到登陆的页面,则代表服务启动成功. https://192.168.1.2:8443/www/ui-phoenix/com.arcsight.phoenix.PhoenixLauncher/#login 二.客户机端 1.在arcsight home目录里 有java开发sdk,需要把它拷贝出来,添加到项目中. 这

在Salesforce中调用外部系统所提供的的Web Service

这里需要提供外部service所对应的WSDL文件(Salesforce只支持从本地上传),并且提供的WSDL文件有如下两点要求: 1):wsdl 文件只能有一个binding,Salesforce是不支持多个binding的 2):wsdl 文件要包含所有的schema信息,Salesforce是不支持external schema的import的 接下来便是具体的操作步骤: 1):按照此目录 Setup --> Build --> Develop --> Apex Classes 找

jQuery源码解读 - 数据缓存系统:jQuery.data

jQuery在1.2后引入jQuery.data(数据缓存系统),主要的作用是让一组自定义的数据可以DOM元素相关联——浅显的说:就是让一个对象和一组数据一对一的关联. 一组和Element相关的数据如何关联着这个Element一直是web前端的大姨妈,而最初的jQuery事件系统照搬Dean Edwards的addEvent.js:将回调挂载在EventTarget上,这样下来,循环引用是不可忽视的问题.而在web前端中,数据和DOM的关系太过基情和紧张,于是jQuery在1.2中,正式缔造了

jQuery.data的是jQuery的数据缓存系统

jQuery.Data源码 jQuery.data的是jQuery的数据缓存系统.它的主要作用就是为普通对象或者DOM元素添加数据. 1 内部存储原理 这个原理很简单,原本要添加在DOM元素本身的数据,现在被集中的存储在cache集合中.它们之间靠一个从1开始的数字键来联系着.这样DOM元素就不会像以前那么笨重了,更不会出现以前那种循环引用而引起的内存泄漏.现在DOM只需要保存好这个数字键值即可.这个属性值被保存在DOM元素的一个属性里,该属性名是由jQuery.expando生成的. 2 Da

截获导航控制器系统返回按钮的点击pop及右滑pop事件

前几天看了@栾小布的一篇文章:Custom backBarButtonItem,在跟着做的时候我又顺便扩展了一些,写此文章的目的是为了总结一下自己所写的东西,方便以后翻看容易,同时也是自己入行iOS一年时间,希望写点东西练练手,还有希望可以分享给大家,希望大家一同讨论,提出宝贵意见以及更简单的实现.总体效果如下: 同时受@J_雨的轻松学习之——IOS利用Runtime自定义控制器POP手势动画一文影响,所以我们将用两种方法实现. 实现思路 每一个navigationController都自带有一

第十七课:数据缓存系统

这一章主要讲的是jQuery的缓存系统的历史发展,以及他自己的框架的缓存系统的实现.都是源码解析. 我就挑几个重点讲下: (1)jQuery的缓存机制的原理 jQuery的缓存机制实现的原理是在元素中添加自定义属性,然后把这个自定义属性赋值为uid,而这个uid就在jQuery的cache对象中的一个属性(唯一的),这个唯一的属性其实是一个对象,这个对象里面存储的就是你给这个元素添加的数据. 举个例子: <input id="chaojidan" name="chaoj

Android中通过进程注入技术修改系统返回的Mac地址

致谢 感谢看雪论坛中的这位大神,分享了这个技术:http://bbs.pediy.com/showthread.php?t=186054,从这篇文章中学习到了很多内容,如果没有这篇好文章,我在研究的过程中会遇到很多困难,说不定我就放弃了~~在此感谢他. 前言 之前的几篇文章都是在介绍了OC的相关知识,之前的半个月也都是在搞IOS的相关东西,白天上班做Android工作,晚上回家还有弄IOS,感觉真的很伤了.不过OC的知识也学习了差不多了.不过在这段时间遗留了很多Android方面的问题都没有进行

数据密集型系统架构设计

按照使用的资源类型划分,我们可以把系统分为三大类型:IO密集型.计算密集型,数据密集型.系统的类型反映了系统的主要瓶颈.现实情况中,大部分系统在由小变大的过程中,最先出现瓶颈的是IO.IO问题体现在两个方面:高并发,存储介质的读写(例如数据库,磁盘等).随着业务逻辑的复杂化,接下来出现瓶颈的是计算,也就是常说的CPU idle不足.出现计算瓶颈的时候,一般会使用水平扩展(加机器)和垂直扩张(服务拆分)两个方法.随着数据量(用户数量,客户数量)的增长,再接下来出现瓶颈的是内存. 如今,内存的合理使