V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Aliberter
V2EX  ›  程序员

请教关于分页的问题

  •  
  •   Aliberter · 2022-01-10 12:22:51 +08:00 · 2202 次点击
    这是一个创建于 1049 天前的主题,其中的信息可能已经有所发展或是发生改变。

    页面请求 A 的接口获取分页数据,A 又是请求 B 的分页接口获取的数据,现在要改 A 的接口逻辑,就是在第一页数据中再加入一条元素,这样整体的分页数据都顺延了,不能修改 B 的接口,怎么实现这个需求呢?

    9 条回复    2022-01-10 15:14:37 +08:00
    speedofstephen
        1
    speedofstephen  
       2022-01-10 12:39:27 +08:00
    B 分页参数是什么样的呢? 如果是 offset + pageSize 完全不用改任何东西吧. 如果是 PageNum+PageSize 就比较恶心了.
    这么看来还是第一种比较合理.
    Aliberter
        2
    Aliberter  
    OP
       2022-01-10 12:48:14 +08:00
    @speedofstephen 都是 PageNum+PageSize ,唉,确实比较恶心,所以我也只是来问问老哥们有没有比较优雅的实现方式,如果后端实现不了,我感觉也就是让前端页面改了,页面上单独的在第一页塞一个元素进去,其他的分页照旧,感觉应该可以
    cpstar
        3
    cpstar  
       2022-01-10 13:16:12 +08:00
    如果是 pn+ps ,怎么能不改 B 接口,不可能啊
    B 接口只能返回 0~(n-1)、n~(2n-1),想返回 1~n ,那只能请求两次,获得 0~(2n-1),然后自己处理出 1~n 。
    yidinghe
        4
    yidinghe  
       2022-01-10 13:43:43 +08:00
    在页面上多显示一条又没关系,就当第一页多一条数据就是了。
    Aliberter
        5
    Aliberter  
    OP
       2022-01-10 14:30:41 +08:00
    @cpstar 确实跟你思路一样哈哈,不过是我提前想多了,刚问了问,就硬加就行,前端页面不受影响
    Aliberter
        6
    Aliberter  
    OP
       2022-01-10 14:31:02 +08:00
    @yidinghe 哈哈 确实 不受影响
    DonaldY
        7
    DonaldY  
       2022-01-10 14:51:23 +08:00
    offset + pageSize 不是可以与 pageNum + pageSize 互转嘛。

    感觉无非就是查询 + 去重。
    index90
        8
    index90  
       2022-01-10 15:03:35 +08:00
    后端接口就不应该设计成 page+pageSize ,应该用 offset+limit
    xiangyuecn
        9
    xiangyuecn  
       2022-01-10 15:14:37 +08:00
    A 里面重新计算一下页码位置的事,请求两次 B 接口拿到满足的数据,而已,有多难?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1078 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:30 · PVG 02:30 · LAX 10:30 · JFK 13:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.