コンテンツにスキップ

サーバーモード

Restorm はサーバーを呼び出すだけでなく、サーバーを ホストする こともできます。 ルートとそのレスポンスを定義し、待ち受けを開始したら、そこにクライアント (通常はご自身のアプリケーションのコード)を向けて、 そのサービスをどう消費しているかを検証します。

本物のサービスがまだ存在しないとき、 狙ったレスポンス(503 エラー、SOAP フォールト、特定の gRPC ステータスなど)を 本物に返させるのが難しいとき、 あるいは再現可能なテストのためにデータセットを固定したいときに役立ちます。

仕組みは単純で、それがこの機能の心地よさにつながっています。 サーバーに設定した内容がそのまま返されるレスポンスになります。 入力したステータス、ヘッダー、ボディが、呼び出し側にそのまま届きます。

待ち受け中の HTTP サーバー要素。待ち受けボタンが赤(アクティブ)になり、状態は「待機中 — 3 件のリクエストを処理」、下に「サーバーの実行中は設定がロックされます」のバナーが表示されています

サーバーページ
HTTPHTTP API をシミュレートする
GraphQLGraphQL API をシミュレートする
gRPCgRPC サービスをシミュレートする
SOAPSOAP サービスをシミュレートする
WebSocket, Socket.IO, MQTTWebSocket、Socket.IO、MQTT をシミュレートする
ODataOData サービスをシミュレートする

フォルダーを右クリック ▸ 追加 ▸ から目的の項目を選びます。 メニューには 8 種類のサーバーがあり、それぞれが独立した要素の型です。

HTTP サーバー · GraphQL サーバー · gRPC サーバー · SOAP サーバー · WebSocket サーバー · Socket.IO サーバー · MQTT サーバー · OData サーバー

作成された要素はツリーの中で SRV バッジを持ちます。 HTTP サーバーの初期値は GETlocalhost:8080/、ステータス 200 です。

パネルでは送信ボタンが 「リッスン開始」↔「リッスン停止」 のトグルに置き換わります。 レスポンスパネルには状態がリアルタイムで表示されます。 リッスンしていません、または 待機中 — N 件のリクエストを処理 です。

ホストは localhost に固定 されており、編集できるのはポートとパスだけです。 シミュレーション用のサーバーをネットワークに公開する必要はありません。

サーバーは停止ボタン、ファイルを閉じる 操作、 またはアプリケーションの終了によって停止します。

Restorm は 1 つのポートにつきソケットを 1 つだけ 開き、 着信の種類に応じて振り分けます。通常のリクエストは HTTP のルートへ、 アップグレード要求は WebSocket または Socket.IO へ渡されます。

つまり、シミュレーション用の HTTP サーバーと Socket.IO サーバーが 同じ :8080 で一緒に待ち受けられます。 ポートが解放されるのは、その 最後の ルートが停止したときだけです。

返されるヘッダーとボディは、起動時ではなく レスポンスを返す瞬間 に解決されます。 そのため、サーバーが待ち受けている間に環境変数を変更すると、 次のレスポンスが変わります。 変数と環境 を参照してください。

待ち受け … / クローズ … のアクションは、シナリオの実行中だけサーバーをホストし、 着信ごとに 1 イベント を発行する served 出力を持ちます。 これにより、1 つのグラフの中で webhook をエンドツーエンドでテストできます。 ホストされるサーバー を参照してください。

ホスティング型のモックサーバーとの比較

Section titled “ホスティング型のモックサーバーとの比較”
Restormホスティング型(Postman Mock Servers など)
実行される場所お使いのマシン上プロバイダー側
レイテンシーネットワークの往復なしインターネットの往復 1 回
オフラインで動作
レスポンスの出どころリクエスト自体。編集可能保存された例
{{ }} テンプレート✔。呼び出しごとに解決限定的
ポートの共有該当なし
プライバシーデータはマシンの外に出ませんデータがサービスを経由します