サーバーモード
Restorm はサーバーを呼び出すだけでなく、サーバーを ホストする こともできます。 ルートとそのレスポンスを定義し、待ち受けを開始したら、そこにクライアント (通常はご自身のアプリケーションのコード)を向けて、 そのサービスをどう消費しているかを検証します。
本物のサービスがまだ存在しないとき、
狙ったレスポンス(503 エラー、SOAP フォールト、特定の gRPC ステータスなど)を
本物に返させるのが難しいとき、
あるいは再現可能なテストのためにデータセットを固定したいときに役立ちます。
仕組みは単純で、それがこの機能の心地よさにつながっています。 サーバーに設定した内容がそのまま返されるレスポンスになります。 入力したステータス、ヘッダー、ボディが、呼び出し側にそのまま届きます。

対応プロトコル
Section titled “対応プロトコル”| サーバー | ページ |
|---|---|
| HTTP | HTTP API をシミュレートする |
| GraphQL | GraphQL API をシミュレートする |
| gRPC | gRPC サービスをシミュレートする |
| SOAP | SOAP サービスをシミュレートする |
| WebSocket, Socket.IO, MQTT | WebSocket、Socket.IO、MQTT をシミュレートする |
| OData | OData サービスをシミュレートする |
サーバーを作成する
Section titled “サーバーを作成する”フォルダーを右クリック ▸ 追加 ▸ から目的の項目を選びます。 メニューには 8 種類のサーバーがあり、それぞれが独立した要素の型です。
HTTP サーバー · GraphQL サーバー · gRPC サーバー · SOAP サーバー · WebSocket サーバー · Socket.IO サーバー · MQTT サーバー · OData サーバー
作成された要素はツリーの中で SRV バッジを持ちます。
HTTP サーバーの初期値は GET、localhost:8080/、ステータス 200 です。
パネルでは送信ボタンが 「リッスン開始」↔「リッスン停止」 のトグルに置き換わります。 レスポンスパネルには状態がリアルタイムで表示されます。 リッスンしていません、または 待機中 — N 件のリクエストを処理 です。
ホストは localhost に固定 されており、編集できるのはポートとパスだけです。
シミュレーション用のサーバーをネットワークに公開する必要はありません。
サーバーは停止ボタン、ファイルを閉じる 操作、 またはアプリケーションの終了によって停止します。
ポートの共有
Section titled “ポートの共有”Restorm は 1 つのポートにつきソケットを 1 つだけ 開き、 着信の種類に応じて振り分けます。通常のリクエストは HTTP のルートへ、 アップグレード要求は WebSocket または Socket.IO へ渡されます。
つまり、シミュレーション用の HTTP サーバーと Socket.IO サーバーが
同じ :8080 で一緒に待ち受けられます。
ポートが解放されるのは、その 最後の ルートが停止したときだけです。
変数は実行中に解決されます
Section titled “変数は実行中に解決されます”返されるヘッダーとボディは、起動時ではなく レスポンスを返す瞬間 に解決されます。 そのため、サーバーが待ち受けている間に環境変数を変更すると、 次のレスポンスが変わります。 変数と環境 を参照してください。
シナリオの中で
Section titled “シナリオの中で”待ち受け … / クローズ … のアクションは、シナリオの実行中だけサーバーをホストし、
着信ごとに 1 イベント を発行する served 出力を持ちます。
これにより、1 つのグラフの中で webhook をエンドツーエンドでテストできます。
ホストされるサーバー を参照してください。
ホスティング型のモックサーバーとの比較
Section titled “ホスティング型のモックサーバーとの比較”| Restorm | ホスティング型(Postman Mock Servers など) | |
|---|---|---|
| 実行される場所 | お使いのマシン上 | プロバイダー側 |
| レイテンシー | ネットワークの往復なし | インターネットの往復 1 回 |
| オフラインで動作 | ✔ | ✘ |
| レスポンスの出どころ | リクエスト自体。編集可能 | 保存された例 |
{{ }} テンプレート | ✔。呼び出しごとに解決 | 限定的 |
| ポートの共有 | ✔ | 該当なし |
| プライバシー | データはマシンの外に出ません | データがサービスを経由します |