我是 golang 和 grpc 的新手,需要指導和說明。我將以下定義作為參數來調用外部 API 的 POST 請求。 params := map[string]string{ "movie": movie, "seat": seat, "pax": fmt.Sprint(pax), "class": class,}在原型文件中,我有以下內容:message TicketData { string movie= 1; string seat= 2; uint32 pax= 3; string class = 4;}message SearchMovieRequest { TicketData data= 1;}但是在 POSTMAN(grpc 請求)中,正文請求顯示如下:{ "data": { "movie": "abc", "seat": "123", "pax": 2, "class ": "b"" } }請求正文應如下:{ "data": **[** { "movie": "abc", "seat": "123", "pax": 2, "class ": "b"" } **]** - missing brackets in my json body}我試過使用 structpb 和映射字符串接口。它似乎不起作用。任何指針將不勝感激。謝謝你。
1 回答

元芳怎么了
TA貢獻1798條經驗 獲得超7個贊
您希望該data字段為repeated TicketData.
請參閱Protobuf語言指南 (proto3)中的指定字段規(guī)則。
具體來說:
message TicketData {
string movie= 1;
string seat= 2;
uint32 pax= 3;
string class = 4;
}
message SearchMovieRequest {
repeated TicketData data= 1;
}
注意雖然您包含了 protobuf 定義,但您的示例是 JSON。Protobuf 實現(xiàn)通常包括 protobuf 和 JSON 之間的自動映射——我假設——你正在展示的是什么。
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報
0/150
提交
取消