Webhooks起初看起來(lái)像是API,但它們略有不同。它們之間的主要區(qū)別在于,webhooks不需要發(fā)出請(qǐng)求即可獲得響應(yīng),而API則需要發(fā)送請(qǐng)求才能獲得響應(yīng)。使用Webhooks可以接收,而API需要您檢索。
一個(gè)示例是GitHub Webhook與GitHub API。對(duì)于GitHub API,您每次需要信息時(shí)都需要發(fā)送GET請(qǐng)求。與GitHub Webhook相比,在GitHub webhook中,您可以打開(kāi)并添加URL來(lái)發(fā)送POST數(shù)據(jù)。正確設(shè)置了Webhook之后,無(wú)論何時(shí)更新GitHub上的信息,數(shù)據(jù)都會(huì)自動(dòng)發(fā)送到您在Webhook設(shè)置中擁有的URL。
詳細(xì)比較
為了更好地說(shuō)明,我們可以看兩種情況:使用Webhook和使用API。
使用API:假設(shè)我們想要某個(gè)服務(wù)的Github存儲(chǔ)庫(kù)的最新提交日期。首先GitHub Service API需要對(duì)GitHub存儲(chǔ)庫(kù)所有者帳戶進(jìn)行身份驗(yàn)證,然后可以為GET請(qǐng)求的正確端點(diǎn)調(diào)用最新的提交日期。
使用 Webhook : GitHub Service Webhook將需要?jiǎng)?chuàng)建自己的Webhook URL,然后將該URL放入GitHub存儲(chǔ)庫(kù)的設(shè)置中。設(shè)置好該URL后,無(wú)論何時(shí)在存儲(chǔ)庫(kù)上發(fā)生任何事件,GitHub都會(huì)將包含所有更新數(shù)據(jù)的POST請(qǐng)求發(fā)送到我們的webhook URL。如果Webhook正在運(yùn)行,則可以輕松地在服務(wù)上顯示W(wǎng)ebhook數(shù)據(jù)中的最新提交日期。
如上圖所示,使用Webhook可使數(shù)據(jù)檢索更加自動(dòng)化。每當(dāng)有更新時(shí),GitHub Webhooks會(huì)將數(shù)據(jù)移交給我們的服務(wù),而GitHub API要求我們從GitHub檢索數(shù)據(jù)。
Webhooks的一些缺點(diǎn)是兼容性和支持。由于API更詳細(xì)和手動(dòng),因此很容易從A點(diǎn)到B點(diǎn)快速集成它們。某些服務(wù)尚不支持Webhooks,這使得設(shè)置它們更加困難。每個(gè)服務(wù)通常都會(huì)提供一個(gè)API。
責(zé)編AJX
-
API
+關(guān)注
關(guān)注
2文章
1530瀏覽量
62795 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5678瀏覽量
80177
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
在DLPC3430不與主控通信的情況下,主控的I2C總線會(huì)被拉低,為什么?
在VDD1沒(méi)有供電的情況下,VDD2正常供電的情況下,AMC1200的輸出應(yīng)該是什么狀態(tài)?
機(jī)械能守恒條件在不同情境下的應(yīng)用
在不犧牲尺寸的情況下提高脈搏血氧儀溶液的性能

在不影響性能或占用空間的情況下隔離您的CAN系統(tǒng)

為什么電容在低電壓情況下會(huì)發(fā)熱

plc什么情況下會(huì)導(dǎo)致程序丟失
MOS管什么情況下會(huì)短路
什么情況下會(huì)產(chǎn)生零序電流
受控源什么情況下可看為電阻
如何在UDP的情況下監(jiān)聽(tīng)自己通信是否中斷?
能否在沒(méi)有中斷的情況下使用SPI?
什么情況下需要申請(qǐng)T-mobile認(rèn)證?T-mobile的優(yōu)勢(shì)是什么?

評(píng)論