CLIからProtobufのリクエストを投げる
TL:DR;
- protoc
- encode, decodeオプションの利用
- curlのオプションを駆使する
- data-binary @-
Motivation
世間的にはProtobufはgRPCとセットの技術という認識が強く、 世の中の需要的にもProtobufを単独で扱いたいというケースは少ないように思う。
ただ、現在扱っている案件では「gRPCを利用はしないが、Protobufを用いてデータをやりとりする」こととなり、 CLIから気軽にProtobufのリクエストを投げたいというのが動機。
Solution
protoc
の--encode
オプションを利用する。
Command
$ echo "sample: 'sample_param'" \
| protoc --encode=sample.SampleProto Sample.proto \
| curl -X POST "https://example.com/proto_api" \
--data-binary @- \
| protoc --decode=sample.SampleProtoResponse SampleResponse.proto