为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Golang 的映射字符串数据结构中将 json 正文请求传递给 api?

如何在 Golang 的映射字符串数据结构中将 json 正文请求传递给 api?

Go
肥皂起泡泡 2022-12-26 15:40:18
我是 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)中的指定字段规则


具体来说:


message TicketData {

    string movie= 1;

    string seat= 2;

    uint32 pax= 3;

    string class = 4;

}


message SearchMovieRequest {

    repeated TicketData data= 1;

}

注意虽然您包含了 protobuf 定义,但您的示例是 JSON。Protobuf 实现通常包括 protobuf 和 JSON 之间的自动映射——我假设——你正在展示的是什么。


查看完整回答
反对 回复 2022-12-26
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信