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

这个问题真的很折磨人,原先请教了很多人,包括我们的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或者别的服务使用了,

你可能感兴趣的:(Go 使用grpc传输返回json数据的方法)