基本情報
概要
JSON Server(ジェイソン サーバ)とは、JSONファイルを元にしてWebAPIサーバモックアップを作成できる簡易サーバです。開発中のWebAPIテストなどに活用できます。
基本説明
JSONファイルを指定して、JSON Serverを起動すれば、JSONをRESTfulに提供するHTTPサーバになります。APIリクエストを受け取り、応答します。
通常、開発(テスト)用APIモックアップを作成するためには多くの手間がかかります。JSON Serverを利用すれば、コーディングすることなく、時間をかけることなく、構成ファイルを記述するだけで、簡単に簡易CRUD APIモックアップを立ち上げられます。
ユースケース
・バックエンドが用意されていない状態でアプリケーションのフロントエンドをプロトタイピングする場合
・API設計時 など
主な特徴
必要なツール
JSON Serverを使用するためには以下のツールが必要です。
・Node.js:JSON ServerはNode.js上で動作します
・NPM(Node Packaged Modules):Node.js.のパッケージマネージャ
・Curl:さまざまなプロトコルでデータ転送するコマンドラインツール(HTTPリクエストの送受信に利用します)
インストール方法
インストールは以下のコマンドのみで完了します。
「npm install -g json-server」
Docker版も用意されています。
→Docker Hub『clue/json-server』
使い方
JSON Serverを使用する場合の主な手順です。
1.JSONデータを用意する
2.JSON Serverを起動
※「--read-only」オプションで読み取り専用サーバとして起動します。
3.「http://localhost:3000/○○○」にアクセス(○○○はリソース名)
これでCRUD操作を実行できます。このサーバのデータに対して、データの参照/変更などを行えます。
対応メソッド
以下のメソッドに対応しています。
・GET(データ取得)
・POST(データ追加)
・PUT(データ更新)
・PATCH(データ部分更新)
・DELETE(データ削除)
※「JSONP」「CORS」などにも対応しているため、クロスドメインでも利用できます。
検索機能
「curl -X GET "http://localhost:3000/○○○?q=□□□"」
○○○リソース内にある全アイテムから、フィールドのどこかに□□□が含まれているアイテムを検索します。
フィルター機能
「curl -X GET "http://localhost:3000/○○○?△△△=7"」
○○○リソース内にある全アイテムから、△△△プロパティが7であるアイテムを検索します。
ページ番号機能(ページネーション)
JSON Serverは、1ページあたり10項目のページネーションサポートを提供します。検索サイトで1ページあたり10項目表示されるイメージです。
このページネーションを利用した検索も行えます。
「curl -X GET "http://localhost:3000/○○○?_page=2"」
○○○リソースから、2ページ目(11~20件目のアイテム)を取得します。
ソート機能
「curl -X GET "http://localhost:3000/○○○?_sort=△△△&_order=DESC"」
○○○リソースに対して△△△プロパティで降順ソートを行います。
演算子
アンパサンド(&)を挿入すれば複数の条件を組み合わせることができます。
また、以上「_gt」、以下「_lt」の条件設定も行えます。
ライセンス情報
JSON Serverのライセンスは「MIT License」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。
ダウンロード
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。