我正在嘗試從 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
uj5u.com熱心網友回復:
由于錯誤是
獲取請求資料時出錯:訊息型別 RateRequest 沒有名為 base 的已知欄位
而且json是
json:"Base,omitempty"`
然后好像找錯欄位了,應該是
json:"base,omitempty"`
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/386936.html
