英文:
Service being generated but not client protoc
问题
我正在使用protoc尝试为我的gRPC服务生成客户端/服务器。
我在我的make文件中有以下内容:
stripe:
@protoc --go_out=. pkg/proto/stripe/service.proto
我的proto文件是
syntax = "proto3";
package grpc;
option go_package = "pkg/proto/stripe/";
service Stripe {
rpc UpdateVerification(UpdateVerificationRequest) returns (UpdateVerificationResponse);
}
message UpdateVerificationRequest {
string id = 1;
}
message UpdateVerificationResponse {
}
当我运行make stripe
时,它会生成一个service.pb.go
文件,但没有生成接口或客户端。
这是我在生成CLI命令中遗漏的东西吗?
英文:
I am using protoc to try and generate a client / server for my gRPC service.
I have the following in my make file
stripe:
@protoc --go_out=. pkg/proto/stripe/service.proto
My proto file is
syntax = "proto3";
package grpc;
option go_package = "pkg/proto/stripe/";
service Stripe {
rpc UpdateVerification(UpdateVerificationRequest) returns (UpdateVerificationResponse);
}
message UpdateVerificationRequest {
string id = 1;
}
message UpdateVerificationResponse {
}
When I run make stripe
it generates a service.pb.go
but there is no interface or client generated.
Is this something I am missing in the generation CLI command?
答案1
得分: 1
尝试添加go-grpc_out
,例如:
protoc --go_out=. --go-grpc_out=. pkg/proto/stripe/service.proto
这将在与proto文件相同的目录中生成service_grpc.pb.go
文件。
根据快速入门指南的建议,完整的命令可以是:
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
pkg/proto/stripe/service.proto
英文:
Try adding go-grpc_out
, as example:
protoc --go_out=. --go-grpc_out=. pkg/proto/stripe/service.proto
Will generate also the service_grpc.pb.go
file in the same dir of the proto
As suggested in the quickstart giude, the full command could be:
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
pkg/proto/stripe/service.proto
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论