简而言之:REST、SOAP、GraphQL、RPC 和 webhooks 描述了集成中的不同方面。应比较它们的资源模型、消息契约、查询行为、操作语义和传输方向,而不是将它们视为五种可互换的协议。
一个目录服务既可以提供 REST 读取功能,又可以发送 webhook 通知,还可以调用内部 RPC 服务来计算库存。这三项功能都可能属于同一个产品。API 风格是组织软件如何暴露功能和交换信息的方法,但该术语往往被宽泛地使用,以至于将架构与消息传递和交付模式混为一谈。
这种宽松的用法使得一个常见的比较具有误导性。REST 是一种架构风格,SOAP 是一种消息协议,GraphQL 是一种查询语言和执行模型,RPC 描述远程操作调用,而 Webhooks 描述事件触发的分发机制。它们是值得比较的有用方法,而不是每个 API 都必须归入其中的互斥类别。
本指南通过一个假设性的目录来解释五种常见的方法。它既不按市场份额对它们进行排名,也不声称这些是唯一的选择。其目标是实用的:识别提供商接口的承诺、必须处理的故障情况,以及两种方法在何处可以相互补充。 对于数据采集者而言,这些答案比选择架构图中出现频率最高的标签更为重要。




