这个问题真的很折磨人,原先请教了很多人,包括我们的CTO都说要在proto中定义相应的message结构,才能正常返回。但是这就是问题所在了,这样的话,就需要花费很大的工作量在message的结构定义和go中struct中,至少三倍的工作量, 而且是每一个接口都需要定义结构体,这TM是相当繁琐的工作量,只有脑残才会那么做吧,可笑的是还想强迫让我那么做,代码又不是他们来写,Go DIe吧去
在proto文件协议中定义最重要的结构体:
message CommonResponse{
repeated google.protobuf.Struct rows = 1; // 这个才是最重要的,使用这个结构体
google.protobuf.Struct summary = 2;
int64 total = 3;
}
然后编译成两个文件后,会看到:
在接口中返回的时候,使用json.unmarshal为这个结构体即可:(这一步才是最重要的)
然后就可以返回给grpc-proxy或者别的服务使用了,
网友评论