有没有办法将消息类型用作另一个消息中的类型?

问题描述 投票:0回答:1

我想为

Message
分配“消息”类型,因此
payload
可以是
Sms
Email
。这不是有效类型,因为错误显示
message not defined
引用了我分配给
payload
的“消息”类型。

有什么方法可以使

payload
成为足够通用的类型,它可以是
Sms
Email

syntax = "proto3";


message Sms {
    ...
}

message Email {
    ...
}


message Message {
    // Can be any form of communication.
    message payload = 1;  // I want to make this any kind of message. 
}

或者,我打算添加两种可以分配给

Message
的类型。

syntax = "proto3";


message Sms {
    ...
}

message Email {
    ...
}


message Message {
    // Can be any form of communication.
    optional Sms sms = 1;
    optional Email email = 2;
}
protocol-buffers grpc rpc
1个回答
0
投票
message Message {
  oneof payload {
    Sms sms = 1;
    Email email = 2;
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.