mimic っていう http mock サーバーを書いた
- go 1.3.1
引き続き go 勉強中。 mux というものを知ったので これを使ってなにか書いてみた結果。
https://github.com/handlename/mimic
ユースケース
フロントエンドの人と平行して作業をするときに、
「このAPIまだ出来てないの?」
「とりあえず持っくでいいからレスポンス用意してよ」
と言われることがよくある。
そういう場合はとりあえず固定のレスポンスを返すコントローラーを定義して、 開発サーバーに上げたりするのだけど、まあめんどくさい。
なんとかフロントの人で完結できないか?
コードを書かずに動かせるモックサーバーがあれば・・・!
(あとづけです)
最初に書いたとおり mux を使ってみようっていうのがモチベーションなので、 同じことができるツールが有るかとかはぜんぜん調べてない。
これはなに?
JSON で設定を書くとその通りにレスポンスを返してくれる http mock サーバー。
こういう JSON を書いて、
{ "rules": [ { "method" : "GET", "path" : "/", "content" : "hello" } ] }
mimic
に食わせると、
$ mimic --config=config.json
こういうレスポンスを返してくれる。
$ curl http://localhost:3390/ hello%
詳しくは README 参照。
なにがうれしいか
- 使う人はコード書かなくていい
- 各環境用のビルド済みのバイナリ があるので go をビルドできる環境がなくても OK
今後の展望
- config.sample.json
にしれっと書いてあるけどコード中では使ってない
content-type
対応 - 長めのレスポンスとか JSON とか(いちいちエスケープしないといけない) は設定ファイル中には書きにくいので、 別ファイルを参照できるように
余談
YAPC::Asia 2014 参加中の隙間時間で書いた。 ちょうど聞いてた @deeet さんのトーク がすごいタイムリーでためになった。