跳到內容

伺服器模式

Restorm 不只會呼叫伺服器,它也會託管伺服器。您定義一條路由和它的回應,開始監 聽,然後把一個用戶端 — 通常就是您自己應用程式的程式碼 — 指向它,用來測試它是怎麼 消費這個服務的。

當真正的服務還不存在、當很難讓它產生您想看的那個回應(一個 503 錯誤、一個 SOAP 故障、一個特定的 gRPC 狀態),或當您想要一份固定的資料集來做可重現的測試時,這就是 您需要的東西。

原理很簡單,而這正是它好用的地方:您在伺服器上設定的內容就是提供出去的回應。您 填進去的狀態、標頭與內文,正是呼叫方會收到的東西。

一個正在監聽的 HTTP 伺服器項目:監聽按鈕已轉為紅色(啟用中)、狀態「監聽中 — 已服務 3 個請求」,以及「伺服器執行時設定已鎖定」的橫幅

伺服器頁面
HTTP模擬 HTTP API
GraphQL模擬 GraphQL API
gRPC模擬 gRPC 服務
SOAP模擬 SOAP 服務
WebSocket、Socket.IO、MQTT模擬 WebSocket、Socket.IO 與 MQTT
OData模擬 OData 服務

在資料夾上按右鍵 ▸ 新增 ▸,再選您要的項目。選單裡提供八種伺服器,每一種都是獨立 的項目型別:

HTTP 伺服器 · GraphQL 伺服器 · gRPC 伺服器 · SOAP 伺服器 · WebSocket 伺服器 · Socket.IO 伺服器 · MQTT 伺服器 · OData 伺服器

建立出來的項目會在樹狀結構裡帶一個 SRV 標記。HTTP 伺服器的起始值是 GETlocalhost:8080/、狀態 200

在面板裡,傳送按鈕會換成一個 「開始監聽」↔「停止監聽」 的切換。回應面板會即時顯 示狀態:未在監聽,或監聽中 — 已服務 N 個請求

主機固定為 localhost:只有連接埠和路徑可以編輯。模擬伺服器本來就不該暴露到網 路上。

伺服器可以用停止按鈕停掉,也會在關閉檔案或結束應用程式時停止。

Restorm 每個連接埠只開一個 socket,並依進來呼叫的性質分派:普通請求交給 HTTP 路由,協定 upgrade 請求交給 WebSocket 或 Socket.IO。

具體來說:一個 HTTP 模擬伺服器和一個 Socket.IO 伺服器可以一起在 :8080 上監聽。連 接埠只有在它的最後一條路由停止時才會釋放。

提供出去的標頭與內文是在提供服務的那一刻才解析的,不是在啟動時:伺服器監聽期間 改動一個環境變數,下一次的回應就會跟著變。請參閱 變數與環境

「… 伺服器」/**「關閉 …」**動作會在情境執行的這段時間裡託管一個伺服器,並帶有一 個 served 輸出,每個進來的呼叫都發出一次事件。這就是能在單一張圖裡把一個 webhook 端到端測完的原因。請參閱 託管伺服器

Restorm託管式伺服器(Postman Mock Servers 這一類)
在哪裡執行在您自己的機器上在服務供應商那邊
延遲沒有網路往返一趟網際網路往返
可離線運作
回應的來源請求本身,可以編輯一份已儲存的範例
{{ }} 範本✔,每次呼叫都重新解析有限
連接埠共用不適用
隱私沒有任何東西離開這台機器資料會經過那個服務