gRPC 生成的文件没有 json 定义
gRPC generated file doesn't have json definition
我正在尝试从 proto 文件生成 Go 文件,但它在方法的输入定义中没有 json 定义。我应该自己添加 json 定义还是我的脚本有问题。谢谢,非常感谢您的帮助。
原型文件
message RateRequest {
string Base = 1;
string Destination = 2;
}
生成的文件
type RateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//No json definition here
Base string `protobuf:"bytes,1,opt,name=Base,proto3" json:"Base,omitempty"`
Destination string `protobuf:"bytes,2,opt,name=Destination,proto3" json:"Destination,omitempty"`
}
协议脚本
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
protos/currency.proto
grpcurl
grpcurl --plaintext -d '{Base: "GBP", Destination: "USD"}' localhost:9092 Currency.GetRate
// Error invoking method "Currency.GetRate": error getting request data: message type RateRequest has no known field named base
由于错误是
error getting request data: message type RateRequest has no known field named base
而 json
是
json:"Base,omitempty"`
那看来是找错了字段,应该是
json:"base,omitempty"`
我正在尝试从 proto 文件生成 Go 文件,但它在方法的输入定义中没有 json 定义。我应该自己添加 json 定义还是我的脚本有问题。谢谢,非常感谢您的帮助。
原型文件
message RateRequest {
string Base = 1;
string Destination = 2;
}
生成的文件
type RateRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
//No json definition here
Base string `protobuf:"bytes,1,opt,name=Base,proto3" json:"Base,omitempty"`
Destination string `protobuf:"bytes,2,opt,name=Destination,proto3" json:"Destination,omitempty"`
}
协议脚本
protoc --go_out=. --go_opt=paths=source_relative \
--go-grpc_out=. --go-grpc_opt=paths=source_relative \
protos/currency.proto
grpcurl
grpcurl --plaintext -d '{Base: "GBP", Destination: "USD"}' localhost:9092 Currency.GetRate
// Error invoking method "Currency.GetRate": error getting request data: message type RateRequest has no known field named base
由于错误是
error getting request data: message type RateRequest has no known field named base
而 json
是
json:"Base,omitempty"`
那看来是找错了字段,应该是
json:"base,omitempty"`