マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】JSON Server

【OSS情報アーカイブ】JSON Server

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「JSON Server」とは

基本情報

概要

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」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。