FastWeb-Webhook
# FastWeb-Webhook
Webhook 是一個 API 概念,是微服務 API 的使用範式之一,也被成為反向 API,即前端不主動發送請求,完全由後端推送;舉個常用例子,比如你的好友發了一條朋友圈,後端將這條訊息推送給所有其他好友的客戶端,就是 Webhook 的典型場景。
簡單來說,Webhook 就是一個接收 HTTP POST(或GET,PUT,DELETE)的URL,一個實現了 Webhook 的 API 提供商就是在當事件發生的時候會向這個配置好的 URL 發送一條資訊,與請求-響應式不同,使用 Webhook 你可以實時接受到變化。
這又是一種對 客戶機-伺服器 模式的逆轉,在傳統方法中,客戶端從伺服器請求數據,然後伺服器提供給客戶端數據(客戶端是在拉數據),在 Webhook 範式下,伺服器更新所需提供的資源,然後自動將其作為更新發送到客戶端(伺服器是在推數據),客戶端不是請求者,而是被動接收方;這種控制關係的反轉可以用來促進許多原本需要在遠端伺服器上進行更復雜的請求和不斷的輪詢的通訊請求;通過簡單地接收資源而不是直接發送請求,我們可以更新遠端程式碼庫,輕鬆地分配資源,甚至將其整合到現有系統中來根據 API 的需要來更新端點和相關數據。
FastWeb的RestAPI預設的情況下需要token
才可以使用其中的功能,如果要使用Webhook
的相關功能,可參考以下方式來進行建立。
點選功能表欄系統工具
-介面開發(API)
,打開界面,點選[新增]
按鈕,在新增界面中設定資訊,注意公開介面
處需設定為True
。點選[儲存]
。
選擇此項,點選[介面開發]
,設定以下程式資訊:
(*說明**********************
1.ToKenPerms >> 令牌許可權列表
2.URLParams >> URL參數
3.UserInfos >> 令牌使用者資訊
4.PostStream >> 推送流
5.GetNodeDataLink(Const ANodeName:String):TFDConnection >> 獲取節點資料庫連線
***************************)
//Fixed format
Function RestAPI:String;
Begin
Result := 'OK';
End;
Begin
End.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
關於RestAPI的用法可參考API呼叫說明。
點選[系統工具]
-[介面整合(Server)]
,打開介面整合
界面,輸入API供應商以及API伺服器的地址,填寫相關說明,點選[儲存]
。
點選[系統工具]
-[介面整合(API)]
,打開介面整合(API)
界面,點選[新增]
按鈕,打開新增API
界面,在其中輸入API的資訊。
API名稱與API描述部分可自行設定。
API供應商
處選擇剛才建立的API供應商。
上文的API說明中已指出使用的Content-Type
以及請求方法
,此處按照說明中提供的內容選擇。
參數部分填寫如上圖所示。
儲存后,點選[儲存]
按鈕,返回管理頁面。
找到剛才建立的API,點選[API測試],打開API管理器界面,在目前界面下,點選[send]按鈕,觀察Rest Server answer處顯示的內容,如果顯示的內容為下圖樣式的,則設定完成。