Webhooks起初看起來像是API,但它們略有不同。它們之間的主要區(qū)別在于,webhooks不需要發(fā)出請求即可獲得響應(yīng),而API則需要發(fā)送請求才能獲得響應(yīng)。使用Webhooks可以接收,而API需要您檢索。
一個(gè)示例是GitHub Webhook與GitHub API。對于GitHub API,您每次需要信息時(shí)都需要發(fā)送GET請求。與GitHub Webhook相比,在GitHub webhook中,您可以打開并添加URL來發(fā)送POST數(shù)據(jù)。正確設(shè)置了Webhook之后,無論何時(shí)更新GitHub上的信息,數(shù)據(jù)都會自動發(fā)送到您在Webhook設(shè)置中擁有的URL。
詳細(xì)比較
為了更好地說明,我們可以看兩種情況:使用Webhook和使用API。
使用API:假設(shè)我們想要某個(gè)服務(wù)的Github存儲庫的最新提交日期。首先GitHub Service API需要對GitHub存儲庫所有者帳戶進(jìn)行身份驗(yàn)證,然后可以為GET請求的正確端點(diǎn)調(diào)用最新的提交日期。
使用 Webhook : GitHub Service Webhook將需要創(chuàng)建自己的Webhook URL,然后將該URL放入GitHub存儲庫的設(shè)置中。設(shè)置好該URL后,無論何時(shí)在存儲庫上發(fā)生任何事件,GitHub都會將包含所有更新數(shù)據(jù)的POST請求發(fā)送到我們的webhook URL。如果Webhook正在運(yùn)行,則可以輕松地在服務(wù)上顯示W(wǎng)ebhook數(shù)據(jù)中的最新提交日期。
如上圖所示,使用Webhook可使數(shù)據(jù)檢索更加自動化。每當(dāng)有更新時(shí),GitHub Webhooks會將數(shù)據(jù)移交給我們的服務(wù),而GitHub API要求我們從GitHub檢索數(shù)據(jù)。
Webhooks的一些缺點(diǎn)是兼容性和支持。由于API更詳細(xì)和手動,因此很容易從A點(diǎn)到B點(diǎn)快速集成它們。某些服務(wù)尚不支持Webhooks,這使得設(shè)置它們更加困難。每個(gè)服務(wù)通常都會提供一個(gè)API。
責(zé)編AJX
-
API
+關(guān)注
關(guān)注
2文章
1507瀏覽量
62225 -
自動化
+關(guān)注
關(guān)注
29文章
5604瀏覽量
79477
發(fā)布評論請先 登錄
相關(guān)推薦
評論