• 欢迎访问1024小神,一个只会Python的程序猿不是一个好司机
  • 有什么想对我说的可以在留言板里给我留言哦~
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏1024小神吧

Go 使用grpc传输返回json数据的方法

Golang Jason 3周前 (05-31) 24次浏览 0个评论

这个问题真的很折磨人,原先请教了很多人,包括我们的CTO都说要在proto中定义相应的message结构,才能正常返回。但是这就是问题所在了,这样的话,就需要花费很大的工作量在message的结构定义和go中struct中,至少三倍的工作量, 而且是每一个接口都需要定义结构体,这TM是相当繁琐的工作量,只有脑残才会那么做吧,可笑的是还想强迫让我那么做,代码又不是他们来写,Go DIe吧去

在proto文件协议中定义最重要的结构体:

message CommonResponse{
  repeated <a href="https://1024shen.com/archives/tag/go" title="查看更多关于go的文章" target="_blank">go</a>ogle.protobuf.Struct rows = 1;  // 这个才是最重要的,使用这个结构体
  <a href="https://1024shen.com/archives/tag/go" title="查看更多关于go的文章" target="_blank">go</a>ogle.protobuf.Struct summary = 2;
  int64 total = 3;
}

然后编译成两个文件后,会看到:

在接口中返回的时候,使用json.unmarshal为这个结构体即可:(这一步才是最重要的)

然后就可以返回给grpc-proxy或者别的服务使用了,


如有失效,请留言告知丨转载请注明原文链接:Go 使用grpc传输返回json数据的方法
点赞 (0)

您必须 登录 才能发表评论!