JSON Server - フェイク REST API サーバーの利用方法
最近のソフトウェアシステムのバックエンドには、REST やら GraphQL やら SOAP のサービスやら、 種類はともあれなんらかの API サーバーなどがあるのが普通です。
外部の API を呼ぶだけであれば特に問題ありませんが、バックエンドも自前で開発を行う場合には、 先にバックエンドがないとフロント側が開発しにくい、という都合がでてきます。
このときに、とりあえずダミーのデータでも良いので応答を返してくれるスタブ的な API サーバーがあれば便利です。
JSON Server は REST API の典型的なダミーの応答を返すことができ、開発の効率化に役立ちます。
使い方は簡単なので、手短に典型的な使い方を説明します。
JSONPlaceholder を利用する
JSONPlaceholder として、次の URL https://jsonplaceholder.typicode.com/ でフェイク API サーバーが常時公開されています。
例えば HTTP GET リクエストで https://jsonplaceholder.typicode.com/users を要求することで、 ダミーのユーザーデータを取得できるなどします。
その他、削除は DELETE 要求、更新は POST などのバリエーションがあります。
JSON Server のインストール
JSONPlaceholder サービスをローカルで利用できるのが JSON Server です。
次のコマンドでインストールできます。
sudo npm install -g json-server
JSON Server の起動
デフォルトの設定で起動する
デフォルトでポート 3000 番で起動します。
json-server --watch db.json
ポート番号を指定する場合は次のように、--portでポート番号を指定します。
json-server --watch db.json --port 3100
db.jsonはスキーマファイルです。初回起動時など、存在しない場合はデフォルトで /posts、/comments、/profile が利用可能です。
JSONPlaceholder と同様の応答を返す
JSONPlaceholder では post, comments, profile の他に、users, todos, photos, albums などが利用できます。
JSONPlaceholder と同様の応答を返したい場合は、次のコマンドで起動します。
json-server http://jsonplaceholder.typicode.com/db --port 3100
あるいは、一度スキーマ情報をダウンロードしておき、次回からそれを使って JSON Server を利用することも可能です。
curl https://jsonplaceholder.typicode.com/db --output db1.json
json-server --watch db1.json --port 3100
以上でフェイク REST API サーバーの利用方法 (おもに起動方法) を説明しました。