这里关键的一点是要导入Google的的any.proto文件。如下的proto 文件:
import "google/protobuf/any.proto"
Service Hello{
rpc SayHello(MsgInfoBase)returns(google.protobuf.empty){};
}
message MsgInfoBase{
string id=1;
google.protobuf.any Data=2;//这样就可以传递任意类型了。如Msg1,Msg2
}
message Msg1{
string Content=1;
bool result=2;
}
message Msg2{
string Name=1;
bool result=2;
}
客户端上传
MsgInfoBase msg = new MsgInfoBase();
Msg1 m1 = new Msg1();
msg.Data = Any.pack(m1);
服务端解析泛型类型
Msg1 m1=request.Data.Unpack<Msg1>();//这样这个接口就可以传递泛型啦!!!