app接口开发,列表加载的问题?

一、需求:我现在要给移动端做一个文章列表的接口---用于请求最新的数据列表和数据列表的翻页(例如默认是第一页,上滑后返回第二页的信息,如此类推)

二、问题、困惑描述

1、文章列表翻页的功能,除了像平常pc网页一样,移动端通过接口传参数(skip=1,limit=10;skip=2,limit=10),服务器端接收这两个参数,然后调用mysql查询,除此之外,还有什么其他的实现方案吗?

2、关于请求最新的列表数据的问题。当移动端默认刷新(下滑时),返回最新的数据给移动端。但用户重复刷新的时候,仍然返回最新的数据给移动端,导致列表中追加了重复数据列表。像这种情况,是移动端处理?还是接口的后台要做特殊的处理??请大佬们指点一下

3、最后一个问题:有啥app开发的资料推荐一下,网上的资料有点乱,本人刚接触app接口开发,想系统学习一遍,谢谢~

阅读 2.2k
2 个回答
  1. 根据不同项目需要,我开发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"
    }

}
  1. 数据的清洁最好是后端掌握。这样不但能减少迭代的压力,也能更好的提升客户体验。
  2. 这个搜一搜有很多,我就不班门弄斧了。

1: 我用的这种,其他的不知道
2: 获取最新数据的时候,把当前最新的 ID 或者 时间 带上,后端查询的时候,根据这个最新为前提查询

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题