API 设计 - 最好为客户和我们的 Web 应用程序运行共享 api,还是将其拆分为 2 个 api,私有和公共?

Posted

技术标签:

【中文标题】API 设计 - 最好为客户和我们的 Web 应用程序运行共享 api,还是将其拆分为 2 个 api,私有和公共?【英文标题】:API Design - Would it be best to run a shared api for customers and our web app or split it into 2 apis, private and public? 【发布时间】:2014-05-16 11:58:18 【问题描述】:

目前还处于设计过程中,但希望得到部署了类似解决方案的人的一些建议,并分享他们的经验。

【问题讨论】:

【参考方案1】:

我建议将其拆分为两个独立的 API,一个是公共的,一个是私有的。当您的用户都是内部用户而不是外部用户时,您可以更灵活地进行更改。此外,内部用户通常需要/期望对系统进行更多更改。内部 API 和外部 API 的安全注意事项也大不相同。

您可以通过让内部 API 在适当情况下调用外部 API 来缓解 DRY 问题。

【讨论】:

以上是关于API 设计 - 最好为客户和我们的 Web 应用程序运行共享 api,还是将其拆分为 2 个 api,私有和公共?的主要内容,如果未能解决你的问题,请参考以下文章

Web API应用架构设计分析

Web API应用架构设计分析

Web 服务 API 设计中哪个模式更好

Web API应用架构设计分析

使用指定的客户端密钥设计 API

Web API应用架构设计分析