Goでjsonファイルを読み込んでHTTPで表示する
簡単にjsonファイルをHTTPで読み込めるものを実装しました。Goで。
背景
開発において、HTTP APIを実装してそのクライアントを実装するという流れがあると思います。 APIが返すjsonファイル(モック)は出来たがまだAPIの実装が終わっていない時にクライアントの実装に着手したい場合、jsonファイルを読み込んで実装しなきゃ行けなかったりすると思います。 その結果、本番では使わないファイルを読み込む処理を余計に書かなきゃいけないので若干面倒です。
そんなときにjsonファイルを読み込んでHTTP APIとして動かし、簡単にモックを使ってクライアントの実装ができるようにするためにrimeというものを実装しました。
実装
GitHub - wataru0225/rime: Rime is simple json server.
使い方は非常にシンプルで、jsonファイルが格納されているディレクトリに rime
コマンドを実行するだけ。
$ tree samples samples ├── carts │ └── item.json ├── user.json └── users ├── item.json └── post.json 2 directories, 4 files $ rime 2018/01/26 21:35:32 http://localhost:8080 2018/01/26 21:35:32 See browse -> http://localhost:8080/samples/carts/item.json 2018/01/26 21:35:32 See browse -> http://localhost:8080/samples/user.json 2018/01/26 21:35:32 See browse -> http://localhost:8080/samples/users/item.json 2018/01/26 21:35:32 See browse -> http://localhost:8080/samples/users/post.json
.json
ファイルだけを確認して、そのファイルパスも含めてURLとしてjsonを扱ってくれます。なので、 .git
ディレクトリなどがあったとしても対象外になるので、気にせず使うことができます。
オプション
ポートがデフォルトで 8080
を使ってるのですが、クライアントが 8080
を使う場合、被ってしまうのでポートが指定できるオプションをつけてあります。
$ rime --port 9000 2018/01/26 21:56:49 http://localhost:9000 ...
まとめ
標準ライブラリしか使ってないし、コード量少ないのでシンプルにできた。 ただバージョン 0.0.1からスタートしてしまったのは、公開している。(今から1.0.0に変更できるけど、あえてしない。) ちなみに今は0.0.2。