对于具有复杂关系的 Web 应用程序,在 REST API 中构建数据的推荐方法是什么?

问题描述 投票:0回答:1

我和我的同事最近就在 Web 应用程序中构建 REST API 的最佳实践进行了激烈的辩论,特别是在处理复杂的数据和关系时。

为了简单起见,我们的应用程序包含大量数据和复杂的关系。举个例子来说明:我们有大学,里面有系,每个系都有教授。此外,我们的数据来自不同的来源和不同的数据库。

争论的焦点是如何检索这些数据:

一方主张采用轻量级 API,该 API 返回不带相关数据的对象。例如,如果您请求一所大学,它将仅返回带有部门 ID 列表的大学对象。然后,客户端将负责根据需要进行多次调用来获取和组装完整的数据集。

另一方建议创建专用端点,根据特定用例返回完全填充的对象。因此,如果客户需要一所大学及其院系和教授,单个端点可以在一次调用中返回该数据。

不幸的是,我们无法找到关于此主题的明确、来源丰富的建议或行业标准。

任何人都可以提供指导或资源来概述此类场景的最佳实践吗?

api rest
1个回答
0
投票

这完全取决于用例。例如,您可能不需要获取一所大学的所有系及其教授。我相信您可能需要 api 端点:

  • GET /university - 将获取所有大学对象(最好分页)
  • GET /university/{id}/department/ - 将获取所选大学的所有部门
  • GET /university/{id}/department/{deptId}/professors - 将获取所选大学所选系的所有教授。

但这完全取决于您的用例。我提供的用例可能与您需要的有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.