🦁

gRPCurlでgRPCサーバの動作確認をする

2022/08/14に公開

初めに

gRPCサーバをの開発時にローカル環境で動作確認を行いたい場合があると思いますが、その際に便利なツールgRPCurlがあるので紹介します。

gRPCurlとは

https://github.com/fullstorydev/grpcurl

cURLのような使用感でgRPCサーバとやり取りできるツールです。

準備

  1. Golangのインストール(任意)
    今回、Golangで動作確認用のgRPCサーバを立ち上げるので必要に応じてDownload and installを参考にGolangをインストールしてください。
  2. gRPCurlのインストール
    Installationから、お好きな方法でインストールしてください。
  3. gRPCサーバの立ち上げ
    今回はgRPC公式のQuickStartのものを利用します。
    Get the example codeを実行後、go run greeter_server/main.goをターミナルで実行し以下のログが流れればgRPCサーバの立ち上げは終了です。
2022/08/14 22:13:05 server listening at [::]:50051

gRPCurlを利用する

サービス一覧の表示

$ grpcurl -plaintext localhost:50051 list
grpc.reflection.v1alpha.ServerReflection
helloworld.Greeter

メソッド一覧の表示

$ grpcurl -plaintext localhost:50051 list helloworld.Greeter
helloworld.Greeter.SayHello

サービスの呼び出し

リクエスト無し

$ grpcurl -plaintext localhost:50051 helloworld.Greeter/SayHello
{
  "message": "Hello "
}

リクエストあり

-d @を指定することでリクエストを指定することができます。
EOMはWindowsならCtrl+Z、LinuxではCtrl+Dで入力できます。

grpcurl -plaintext -d @  localhost:50051 helloworld.Greeter/SayHello
{
  "hoge": "huga"
}
EOM

終わりに

gRPCurlの簡単な紹介でした。
とても便利なのでgRPCサーバ開発の際は利用してみてください。

GitHubで編集を提案

Discussion