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

restful 规则中如果一个页面需要多种数据是多次请求还是单独定义复合接口

  •  1
     
  •   ninestep · 2019-08-23 14:37:28 +08:00 · 2138 次点击
    这是一个创建于 1680 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究 restful 接口规则突然想到如果一个页面需要多种数据,极端一些 100 种且这 100 种都是比较小的数据,那是请求 100 次,还是单独因为这个定义一个复合(不知道这个词是否准确)的接口,一次性返回 100 种数据呢?

    12 条回复    2019-08-23 16:47:43 +08:00
    godoway
        1
    godoway  
       2019-08-23 14:46:22 +08:00   ❤️ 1
    具体场景具体做吧,把多种数据分开多个接口,一般是复用性高的接口吧。
    单次请求一个聚合数据往往是那些小数据其他地方用不上的时候吧。
    不过其实聚合数据接口和分散的数据接口都提供问题也行呀。
    StarkWhite
        2
    StarkWhite  
       2019-08-23 15:39:48 +08:00
    GraphQL 了解一下,支持自动聚合接口
    StarkWhite
        3
    StarkWhite  
       2019-08-23 15:40:33 +08:00   ❤️ 1
    顺便等那个男人来刷屏 /狗头
    Frank520
        4
    Frank520  
       2019-08-23 15:45:05 +08:00
    我接手过一个后台是 restful 风格的系统,请求一页 10 条数据的接口,再用返回的 10 条数据的每个 id 去取每条数据对应的(假设是)浏览量,一页数据需要请求 11 次。后台解释说,浏览量数据就是分表存的,他也要查 10 次。
    Leigg
        5
    Leigg  
       2019-08-23 15:57:30 +08:00 via Android
    根据情况处理,没有绝对的标准
    xgfan
        6
    xgfan  
       2019-08-23 16:12:24 +08:00
    @StarkWhite 辣个男人很久没来了。
    nikandaoleshenme
        7
    nikandaoleshenme  
       2019-08-23 16:24:01 +08:00
    之前不是还有个 APIJSON 么?

    前端直接面向 DB 编程,后端都失业了
    arrow8899
        8
    arrow8899  
       2019-08-23 16:30:16 +08:00   ❤️ 1
    这种多半是前期接口没设计好,如果这种页面比较多,建议还是增加一个聚合接口,或者是用 graphQL
    StarkWhite
        9
    StarkWhite  
       2019-08-23 16:32:43 +08:00
    @xgfan 估计是看到
    “那个男人,会来吗?” “他来了吗” “那个打广告的又要来了” “ apijson 即将抵达战场…” “看来都有被那个男人支配的恐惧” “说有预感 API JSON 的会来推广的,是想笑死我继承我的花呗吗?” “”
    这类评论,然后就不敢评论了,哈哈
    StarkWhite
        10
    StarkWhite  
       2019-08-23 16:33:40 +08:00
    @nikandaoleshenme 哈哈,可以试试 GraphQL
    nikandaoleshenme
        11
    nikandaoleshenme  
       2019-08-23 16:41:43 +08:00
    @StarkWhite 我老了,跟不上时代节奏了,只会 jq 和 curd,但是现在可以每天 6 点关机下班
    StarkWhite
        12
    StarkWhite  
       2019-08-23 16:47:43 +08:00
    @nikandaoleshenme 国企吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5332 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 08:10 · PVG 16:10 · LAX 01:10 · JFK 04:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.