Protocol Bufferの統合
GoaがProtocol Bufferの生成とコンパイルを管理する方法を理解する
GoaはDSLとコード生成機能を通じて、gRPCサービスの構築に対する包括的なサポートを提供します。 サービス定義からProtocol Bufferの生成、サーバー/クライアントの実装まで、gRPCサービス開発の 完全なライフサイクルを処理します。
GoaのgRPCサポートには以下が含まれます:
.proto
ファイルを自動生成基本的なgRPCサービスを定義します:
var _ = Service("calculator", func() {
// gRPCトランスポートを有効化
GRPC(func() {
// protocオプションを設定
Meta("protoc:path", "protoc")
Meta("protoc:version", "v3")
})
Method("add", func() {
Payload(func() {
Field(1, "a", Int)
Field(2, "b", Int)
Required("a", "b")
})
Result(func() {
Field(1, "sum", Int)
})
})
})
サービスコードを生成します:
goa gen calc/design
これにより以下が生成されます: