【问题标题】:How to do bulk or multiple API calls in a frontend JS framework?如何在前端 JS 框架中进行批量或多个 API 调用?
【发布时间】:2024-01-06 07:14:02
【问题描述】:

我正在构建一个以 API 为中心的 Web 应用程序。 我们的前端将使用 API,在测试后我们的计划是向公众发布 API。

然而,我遇到了一些问题,在普通的 MVC 应用程序中非常简单,但我似乎无法以 RESTful 方式解决它。

以这个例子为例:

  • 一家公司有多个办公地点指向一个特定地址
  • 此地址可由多个站点共享,因此公司与站点具有一对多关系,站点与地址具有多对一关系
  • 当您更新地址时,我想让用户确认他们要么想要更新 LOCATION(因此所有通过站点共享该位置的公司都将被更新),要么他们只是打错了并且想要创建一个新位置

我将如何以 RESTful 方式处理这个问题?

我可以做一个

  • 如果有其他公司在使用该位置,我会先执行 GET
  • 然后我让用户选择执行 POST(创建新位置)或执行 PUT(更新位置)
    • 如果是 POST,还要创建一个新站点,将新位置链接到公司。

另一个例子是,如果用户显示的单个表单将调用必须更新的几个不同的后端实体。

有什么例子或想法吗?

【问题讨论】:

  • 允许一家公司为其他公司更新地址似乎真的很危险......
  • @NuclearGhost 这是一个 CRM。您正在管理您的联系人。用户将仅具有编辑其联系人列表中的公司的权限范围。

标签: api oop rest angularjs httprequest


【解决方案1】:

在 REST 中,您可能将远程服务视为数据库。如果您知道如何在通用 MVC 工作流程中执行此操作,那么对于胖客户端应用程序也是如此。

您可能希望以“尝试默认行为,并在不可能的情况下引起注意”的方式或“检查可能的情况,然后提供可能性”的方式来处理它。这是您的应用,由您选择。

就我个人而言,我会选择“尝试默认并在边缘条件发生时引发错误”。所以在这种情况下,假设(在客户端)没有其他公司具有相同的地址,并使用相应的端点(PUT)。如果服务器检测到可能的冲突,则返回一些错误。然后客户端将提示用户做什么,并使用选择的任何端点(POST 或 PUT,带有强制更新的标志)

【讨论】:

    最近更新 更多