不同情况下webhooks与API的对比区别

电子说

1.3w人已加入

描述

Webhooks起初看起来像是API,但它们略有不同。它们之间的主要区别在于,webhooks不需要发出请求即可获得响应,而API则需要发送请求才能获得响应。使用Webhooks可以接收,而API需要您检索。

一个示例是GitHub Webhook与GitHub API。对于GitHub API,您每次需要信息时都需要发送GET请求。与GitHub Webhook相比,在GitHub webhook中,您可以打开并添加URL来发送POST数据。正确设置了Webhook之后,无论何时更新GitHub上的信息,数据都会自动发送到您在Webhook设置中拥有的URL。

详细比较

为了更好地说明,我们可以看两种情况:使用Webhook和使用API。

使用API:假设我们想要某个服务的Github存储库的最新提交日期。首先GitHub Service API需要对GitHub存储库所有者帐户进行身份验证,然后可以为GET请求的正确端点调用最新的提交日期。

使用 Webhook : GitHub Service Webhook将需要创建自己的Webhook URL,然后将该URL放入GitHub存储库的设置中。设置好该URL后,无论何时在存储库上发生任何事件,GitHub都会将包含所有更新数据的POST请求发送到我们的webhook URL。如果Webhook正在运行,则可以轻松地在服务上显示Webhook数据中的最新提交日期。

如上图所示,使用Webhook可使数据检索更加自动化。每当有更新时,GitHub Webhooks会将数据移交给我们的服务,而GitHub API要求我们从GitHub检索数据。

Webhooks的一些缺点是兼容性和支持。由于API更详细和手动,因此很容易从A点到B点快速集成它们。某些服务尚不支持Webhooks,这使得设置它们更加困难。每个服务通常都会提供一个API。
责编AJX

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分