【问题标题】:Valid to return different json-response depending on list or retrieve?根据列表或检索返回不同的json响应是否有效?
【发布时间】:2014-03-25 03:40:00
【问题描述】:

我目前正在设计一个 Rest API,但在系统中的 2 个用例的性能问题上有些卡顿:

  • 列出所有活动 (api/campaigns) - 需要返回列出和分页活动所需的活动数据。可能返回多达 1000 条记录,并且需要很长时间才能检索和返回详细数据。只需一次 DB 调用即可返回所需的数据。
  • 检索活动项目 (api/campaigns/id) - 需要返回有关活动的所有数据,并且可能需要一秒钟才能运行。需要多次调用数据库才能获取单个广告系列的所有广告系列数据。

我的问题是:即使它涉及相同的资源,对这两个调用(如果有据可查)返回不同的 json 响应是否有效?我认为列表响应是检索响应的子集。这样做的原因是为了节省数据库调用和带宽+解析。

提前致谢!

【问题讨论】:

    标签: json rest


    【解决方案1】:

    我认为 /campaigns 和 /campaigns/{id} 返回不同的信息是好的和预期的。我建议使用查询参数来限制您需要返回的信息量。例如,仅向每个玩家返回一个 URI,除非您看到 ?expand=players 查询参数,在这种情况下您会返回详细的玩家信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-27
      • 2020-07-26
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 2019-11-28
      • 1970-01-01
      • 2016-09-14
      相关资源
      最近更新 更多