読者です 読者をやめる 読者になる 読者になる

Carpe Diem

備忘録。https://github.com/jun06t

簡単にWebAPIモックサーバを作る

Node.js
やや中規模な開発からは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/ にアクセスするだけです。以下の様なページになります。 api.png ◆ディレクトリ構造 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」