与已经使用 SOAP 的旧系统集成
REST 更适合于:
各种客户端使用的公共 API
带宽和性能至关重要的移动应用
Web 应用程序,尤其是使用 JavaScript 前端的应用程序
需要轻量级通信的微服务
说实话,对于当今的大多数用例来说,REST 是最佳选择。它更符合现代网络的工作方式,并且对开发人员来说也更加友好。
当然,SOAP 也有其适用之处,比如严肃的企业 黎巴嫩电报数据库 应用程序,一旦出错就意味着诉讼或牢狱之灾,但如果您只是在构建另一个 Web 或移动应用程序,那么 REST 可能是您的最佳选择。
虽然 REST 和 SOAP 多年来一直是主流 API 技术,但一种名为 GraphQL 的新方法却广受欢迎。GraphQL 诞生于 Facebook 的智囊团,并于 2015 年作为开源项目发布,它提供了另一种构建 API 的方法,并具有一些有趣的优势。
GraphQL 是一种 API 查询语言,它允许用户精确请求所需的数据,而不是像 REST 或 SOAP 那样被强制输入千篇一律的数据转储。单个 GraphQL 端点可以处理多个请求,无需为不同的数据结构设置多个端点。这对于从许多数据源(如社交媒体平台或电子商务网站)提取数据的应用尤其有用。
当然,它并非一帆风顺,负载分配也并非完美。GraphQL 增加了服务器端的复杂性,因为它必须动态处理和执行查询,这意味着幕后工作量更大。对于数据需求可预测的简单应用程序而言,与 REST 的简单性相比,这种额外的复杂性可能有些过头了。
许多大公司都采用了 GraphQL,包括 GitHub、Shopify、Airbnb,当然还有 Meta。但在你急于用 GraphQL 重写所有内容之前,请记住它仍然相对较新,有时新的并不总是更好——只要问问任何购买过 Zune 的人就知道了。
图表展示了 API 从 SOAP 到 REST 再到 GraphQL 的演变。
使用 Zapier 连接您的所有应用程序
在谈论了这么多 API 和协议之后,您可能会想,“这很有趣,但我宁愿将我最近 100 次 Google 搜索的电子邮件发送到我的联系人列表,而不是手动连接不同的应用程序。”幸运的是,使用 Zapier,您可以忘记刚刚学到的一切。