一、需求:我现在要给移动端做一个文章列表的接口---用于请求最新的数据列表和数据列表的翻页(例如默认是第一页,上滑后返回第二页的信息,如此类推) 二、问题、困惑描述 1、文章列表翻页的功能,除了像平常pc网页一样,移动端通过接口传参数(skip=1,limit=10;skip=2,limit=10),服务器端接收这两个参数,然后调用mysql查询,除此之外,还有什么其他的实现方案吗? 2、关于请求最新的列表数据的问题。当移动端默认刷新(下滑时),返回最新的数据给移动端。但用户重复刷新的时候,仍然返回最新的数据给移动端,导致列表中追加了重复数据列表。像这种情况,是移动端处理?还是接口的后台要做特殊的处理??请大佬们指点一下 3、最后一个问题:有啥app开发的资料推荐一下,网上的资料有点乱,本人刚接触app接口开发,想系统学习一遍,谢谢~
根据不同项目需要,我开发api的时候用过这种方法: 比如我的数据接口是: http://api.example.com/foo, 在前端不传送任何参数的情况下,我会返回: // 系统默认返回20条数据 // since是从后台查询的一刻返回给前端的时间戳,这样即使你的数据是动态添加的,无论上拉(next)还是下滑(previous)我都可以双向查询新旧2中数据,这样可以省去前端的一些设置。当然我也会开通条件查询(skip=1,limit=10;skip=2),实践中发现这种方法非常灵活,延展性很不错。 { "data" : [ { dataset 1 }, { dataset 2 }, ... { dataset 20 } ], "paging": { "previous": "http://api.example.com/foo?since=TIMESTAMP1" "next": "http://api.example.com/foo?since=TIMESTAMP2" } } 数据的清洁最好是后端掌握。这样不但能减少迭代的压力,也能更好的提升客户体验。 这个搜一搜有很多,我就不班门弄斧了。
比如我的数据接口是:
http://api.example.com/foo
, 在前端不传送任何参数的情况下,我会返回: