やや中規模な開発からはWebAPIサーバをたてる実装になったりしますね。
かといってフロント側がテストしたいときにいつもサーバにアクセスする or そもそも
APIサーバも構築途中で検証しづらい状況ってあると思います。
そんな時に簡単にモックサーバがたてられる便利な
ツールです。
◆インストール
$ npm install -g easymock
◆起動確認
$ easymock
Server running on http://localhost:3000
Server running on http://localhost:3000/_documentation/
このように
localhost:3000 としてサーバが立ち上がります。
なので
APIサーバへの接続ホスト名・ポート番号は上記を指定してください。
◆使い方
基本的に、
jsonファイルを配置したディレクトリの中でeasymockコマンドを実行します。
json形式でGET/POST/PUT/DELETEする方法を説明します。
実行用ディレクトリを作り、その中に
api取得したい
jsonファイルを配置していきます。
ファイル名は xxx_get.
json や xxx_post.
json にします。例えば
API先が
/users/
だった場合は
test(実行ディレクトリ。任意)
├users_get.
json
└users_post.
json
のように配置して、test ディレクトリで easymock を起動します。今回中身を
users_get.
json
{
"result": "get"
}
users_post.
json
{
"result": "post"
}
とかにしておきましょう。こちら
APIの response body に合わせて自分で好きに作成してください。
では動作確認としてブラウザで
http://localhost:3000/users
にアクセスすると
{"result":"get"}
と結果が返ってきます。
curlでやる場合は
$ curl -X GET http://localhost:3000/users
や
$ curl -X POST http://localhost:3000/users
で結果が返ると思います。
◆APIドキュメント
簡単です。
http://localhost:3000/_documentation/
にアクセスするだけです。以下の様なページになります。
◆ディレクトリ構造
http://localhost:3000/api/users/1
とかにしたいこともありますよね。この場合は
test(実行ディレクトリ)
└
api
└users
└1_get.
json
として作成すればOKです。
◆ルーティング
/users/:userId
とかにして、userIdを取得したい場合です。
実行ディレクトリ内にconfig.
jsonを作ってその中で指定します。
構造としては
test
├config.
json
└users
└userId_get.
json
中身は
config.
json
{
"routes":[
"/users/:userId"
]
}
userId_get.
json
{
"userId": #{userId}
}
userId_get.
json中の #{userId} という記述が、
URIで指定された/:userIdに置き換わります。
動作確認すると
http://localhost:3000/users/1
{"userId":1}
となります。
ソース:
node.jsでモックwebAPIを作るeasymock使ってみた
Web APIの開発に使えるモックサーバ「EasyMock Server」