というわけで今日は昨日実装したgRPCをデバッグしていきます。
使うのは uw-labs/bloomrpc という、GUIアプリケーションです。
実はこのツール弊社謹製のオープンソースツールなんですねー。すごい。
ダウンロード
早速ダウンロードしてみましょう。
READMEページの指示に従っていけば大丈夫です。
Macの場合はHomebrewでもインストールできます。
$ brew cask install bloomrpc

protoファイルのインポート
ダウンロードしたら、protoファイルをインポートします。
grpcurlでもそうですが、gRPCはバイナリなのでprotoファイルを与えることでツールにフォーマットを理解させる必要があります。
画面左上の+
ボタンから使用するprotoファイルを選択します。


左側のパネルにAPIが読み込まれれば成功です。

リクエストの送信
準備は完了です。リクエストを送信してみましょう。
minikubeをスタートさせ(minikubeへのデプロイは二日目の記事を参照)、ポートフォワードでアプリの8090ポートを繋ぎます。
$ minikube start
$ kubectl -n qiita port-forward qiita-advent-calendar-2019-7c885c5698-hwkts 8090:8090
Forwarding from 127.0.0.1:8090 -> 8090
Forwarding from [::1]:8090 -> 8090
では前回ダミーで実装したGetTodoエンドポイントを叩いてみます。
ポート番号を8090
に設定して画面中央の再生ボタンを押すだけです。
(id
パラメータは今のところ用無しです。)

リクエスト結果は右側のパネルに表示されます。

protoファイルの更新
時にはprotoファイルを更新する必要がでてくることもあるでしょう。
そんなときは左上にあるReload
ボタンを押します。protoファイルを読み込みなおし、新たなインターフェイスでリクエストを送信することができます。

なお右上のView Proto
ボタンを押すと読み込んでいるprotoファイルをプレビューすることができるので便利です。


いかがでしたでしょうか、BloomRPC。
今回はUnaryのAPIのみでしたが、ストリームAPIのデバッグもできます。
gRPCをGUIでデバッグしたいときにとても便利なツールなのでぜひ触ってみてください。
明日からは...データの保存をしていこうかなと思います:)