Slide 4
Slide 4 text
confidential
©Showcase Gig
素直なアプローチ紹介
gRPCの例
protoc-gen-validate を使ってバリデータの自動生成ができるよ 🐔
参考:
【Go】gRPCのリクエストバリデータを自動生成する
https://note.com/scg_tech/n/nb12a33bfd391
import "github.com/envoyproxy/protoc-gen-validate/validate/validate.proto";
~~~~~~~~~~~
service TestServer {
rpc Test(TestMessage) returns (Result) {}
}
~~~~~~~~~~~
message TestMessage {
// 0~100間の整数
int32 seisuu = 1 [(validate.rules).int32 = {gte:0, lt: 100}];
// floatで0~1の値
double fudou = 2 [(validate.rules).double = {gte: 0, lte: 1}];
// アルファベットと数値で、5〜30文字のrepeated
repeated string mojiretsu = 3 [(validate.rules).repeated.items.string = {pattern:
"^[a-z0-9]{5,30}$", min_len: 5, max_len:30}];
// RFC 1034で解釈可能なメールアドレス
string mail_address = 4 [(validate.rules).string.email = true];
}