OpenAPIからgRPCへの移行
今あるOpenAPI用の定義yamlファイルからgRPC用のprotoファイルが生成できないかなと思い、検索したら良さそうなものが見つかった。 nytimes/openapi2proto: A tool for generating Protobuf v3 schemas and gRPC service definitions from OpenAPI specifications https://github.com/umemak/eventsite_go/blob/main/openapi.yml でやってみた。 $ go install github.com/NYTimes/openapi2proto/cmd/openapi2proto $ openapi2proto -spec openapi.yml -annotate syntax = "proto3"; package eventsite; import "google/api/annotations.proto"; import "google/protobuf/empty.proto"; service EventsiteService { // Get all events. rpc GetEvents(google.protobuf.Empty) returns (google.protobuf.Empty) { option (google.api.http) = { get: "/events" }; } // Create event. rpc PostEvents(google.protobuf.Empty) returns (google.protobuf.Empty) { option (google.api.http) = { post: "/events" }; } } s Read more