モックAPIをjson-serverで作成する

f:id:QoopMk:20191101184556j:plain

はじめに

設計段階などの検証用途・通信実装を実装してみるなどの学習用途で、通信が絡むモックAPIが必要になる場合があると思います。
その場合にモックAPIを簡易的に作成できないものかと調査したので共有します。

インストール

今回はnpmパッケージを使用して、json-serverをインストールしてください。

$ npm install json-server

npmの設定方法についてはコチラ

qoopmk.hatenablog.jp

github.com

Jsonファイルを用意

まずはデータベースの構造を定義する Jsonファイルが必要になります。
これを json-server が読み取ってモックAPIを自動で作成してくれます。

仮に名前を db.json としてこんな感じで定義してみましょう。

{
  "posts": [
    { "id": 1, "title": "json-server", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment", "postId": 1 }
  ],
  "profile": { "name": "typicode" }
}

モックAPIサーバー起動

あとは以下のコマンドを実行してモックAPIサーバーを起動しましょう。

$ $(npm bin)/json-server --watch db.json --port 3000
  • $(npm bin) はローカルのnpmパッケージのbinのパスを出力してくれますので、そのまま打ち込んでください。
  • --watch オプションは手動で db.json を修正した時にもAPIに反映してくれるという機能を有効にします。
  • --port オプションでポート番号も変更可能です。

モックAPIをリクエス

実際にリクエストしてみましょう。
レスポンスが返ってこれば成功です!

$ curl "http://localhost:3000/posts"

GETだけでなく、POSTやDELETEなども使えるのが json-server の魅力です。

補足

コチラでnpmパッケージを使わない方法も紹介しています!!

qoopmk.hatenablog.jp