【问题标题】:API Design: Separate or combine internal with external functions?API 设计:将内部功能与外部功能分开还是结合?
【发布时间】:2012-05-01 08:29:15
【问题描述】:

举个简单的例子,假设您在站点中创建留言簿,并计划通过 API 为创建和读取函数提供外部访问权限。 API 中不会包含更新和删除,因为它只能在内部使用。

什么是更好的做法?

  • 通过 API 使整个 CRUD 函数可用,并且只限制对更新和删除的公共访问。因此,您自己也将使用 API 进行应用的所有内部工作。

  • 为所有内部工作创建不带 API 的内部 CRUD 函数,然后为创建和只读创建单独的 API。基本上,这为您提供了两种使用 Create 和 Read 的方法 - 一种使用 API,一种没有。

  • 为内部工作创建不带 API 的内部更新和删除函数,然后为创建和只读创建 API。如果您需要使用 Create 和 Read 函数进行内部工作,那么您必须使用 API。

我希望很清楚,一般来说最佳做法是什么?

【问题讨论】:

    标签: api web-applications architecture


    【解决方案1】:

    我喜欢第一个选项。它有一个关注点分离和在正确的上下文中使用正确的工具的清晰示例。

    通过对 API 使用 CRUD 方法,您可以获得统一性和完整性。它导致设计更加连贯,代码重复更少,并且更容易演变。安全方面可以在支持 API 的应用程序内部或外部实现。对于外部选项,您可以使用 3-d 方软件或硬件解决方案,例如防火墙。

    【讨论】:

      猜你喜欢
      • 2020-04-27
      • 2020-11-01
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多