模擬 HTTP API
在資料夾上按右鍵 ▸ 新增 ▸ HTTP 伺服器。
伺服器用的欄位和請求完全一樣 — 這正是它的精髓所在:方法和路徑定義要監聽的 路由,狀態、標頭和內文定義提供出去的回應。
| 欄位 | 作用 |
|---|---|
| 方法 | 路由的方法 |
| 位址 | localhost:<port><path> — 主機是固定的 |
| 模擬狀態 | 回傳的狀態碼,預設 200 |
| 標頭 | 回應的標頭 |
| 內文 | 回應的內文 |

一條路由就是方法 + 路徑的組合。比對只看完全相同的路徑,查詢字串會被忽略。任 何抵達這個連接埠卻對不上任何路由的呼叫,都會收到 404。
兩條路由只有在方法相同、路徑相同而且連接埠也相同時才會衝突。所以您大可以一條路 由建一個伺服器請求,然後把它們全部啟動。
GET localhost:8080/clients → 200,客戶清單GET localhost:8080/clients/42 → 200,一個客戶POST localhost:8080/clients → 201,Location 標頭GET localhost:8080/clients/999 → 404(沒有對應路由:預設回應)標頭與內文是在每一次進來的呼叫時解析的。所以只要變數有變,一份包含
{{maintenant}} 或 {{compteur}} 的內文就會一次跟一次不一樣。
小技巧:這讓您可以在伺服器執行期間操縱它的行為 — 改一個環境變數的值,下一次呼叫就會 收到不同的回應,完全不必重新啟動。
一個 HTTP 模擬伺服器和一個 WebSocket 或 Socket.IO 伺服器 可以監聽同一個連接埠:Restorm 會把普通請求送往 HTTP 路由,把協定 upgrade 請求送往即 時伺服器。
HTTP 伺服器動作會在情境執行的這段時間裡託管這條路由,並且每收到一個呼叫就發
出一個帶著 { request, response } 的 served 事件。要測試 webhook 就靠這個:
HTTP 伺服器 ──connected──► HTTP 請求「觸發 webhook」 └────────served──────► 對 request.body 做 Assert 然後 ──► 關閉 HTTP 伺服器請參閱託管伺服器。