【问题标题】:Restfull API multiple resources in unique call独特调用中的 Restful API 多种资源
【发布时间】:2015-07-10 14:28:04
【问题描述】:

我正在为论坛构建一个完整的 API,并且我已经设置了所有控制器。

这是我的设置

www.project.com/api/v1/forum/categories -> 返回所有类别

www.project.com/api/v1/forum/categories/{id}/discussions -> 返回 1 个类别的所有讨论

现在的重点是,在前端,我的论坛/类别页面显示所有类别,但是,因为大多数论坛我想添加与每个类别相关的数据(讨论数量、最后一次活跃讨论等)

我的问题是,最好将我需要的特定数据添加到 www.project.com/api/v1/forum/categories 控制器,或者我应该调用这两种资源(类别和讨论)并使用我处理的数据需要我的前端。

我认为,如果我以正确的方式进行操作,也许让 api 返回更多的数据可以弥补我必须进行更多 AJAX 调用的事实。

我希望我已经表达得足够好。

【问题讨论】:

    标签: php json api rest laravel


    【解决方案1】:

    通常更好的解决方案是发出更少的请求,因此您应该尝试使用一个请求来获取所有相关数据。

    当然,这并不意味着您应该在讨论中重复您的代码 - 在类别和讨论控制器中都是如此。只需创建将重用大部分代码的服务并在您的控制器中启动它。

    【讨论】:

      【解决方案2】:

      我认为最好让您的 /categories 端点返回所有相关数据。这使得它更加可重用,因为这意味着您不必每次想要显示数据时都重新计算数据。

      【讨论】:

      • 是的,我明白了,但是看看它的扩展性有多糟糕。首先我必须收集所有类别(1 个电话)然后一旦请求完成,我必须收集每个类别的讨论(另外 10 个电话)
      • 我的意思是与讨论相关的摘要数据(讨论的数量、最后活跃的讨论等)也应该是 /categories 的一部分。这样,您只需调用 /categories 一次。
      • 太好了,我们同意。谢谢
      猜你喜欢
      • 2021-04-22
      • 2013-12-08
      • 1970-01-01
      • 2019-01-15
      • 1970-01-01
      • 2016-01-27
      • 2020-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多