JSONのレスポンスを返すサーバーが急に必要になったら...
nc
コマンドを使ってMockサーバーを建てることができます🏗🗼
(Macとかだとnc
コマンドはデフォルトで入っていたりします。)
余計なライブラリ等入れたりしないでモックサーバー建てたい場合にかなり便利に使える方法をご紹介します!
Step1. JSONを用意する
下記のようなJSONの内容のファイルを用意します。
{
"text": "Hello World!",
"status": 200,
"error": null
}
Step2. コマンド実行
上記のファイルを指定するように下記のコマンドを実行します。
$ bash -c "trap exit INT; while :; do (echo -e HTTP/1.1 200 OK\n;echo -e Content-Type: application/json; echo; cat response.json) | nc -l 8080; done"
コマンドの内容解説
① httpレスポンスを返すコマンドです。(8080はポート番号の指定です)
nc -l 8080
② nc
コマンドで返す内容をパイプで渡します
echo -e HTTP/1.1 200 OK\n;echo -e Content-Type: application/json; echo; cat response.json
③ nc
コマンド自体は1回レスポンスを返すとプロセス終了してしまうので、何回も実行されるようにします
while :; do <実行したいコマンド>; done
④ Ctrl-cでプロセスを止められるようにします
bash -c "trap exit INT; <実行したいコマンド>"
(trap exit INT;
でCtrl-c (SIGINT)を受け取って、プロセスを終了するようにしますが、bash -c
で実行するようにして子プロセスで実行するようにして、そのプロセスを終了させるようにします。)
Step3. ブラウザでアクセスしてみる
ncコマンドでportを8080で指定したのでhttp://localhost:8080
でアクセスします。
(Chrome拡張のJSON Viewerの表示になっています)
ブラウザからも確認できたので、あとは開発中のシステムからアクセスしてみたりして利用できます🏄♂️
(利用が終わってサーバーを止めるときはCtrl-c
で止めましょう。)