Proto3 поддерживает одну из функций, в которой вы можете получить сообщение со многими полями и где одновременно может быть установлено не более одного поля.
Так как одно поле будет установлено одновременно, оно будетразумно иметь повторяющиеся имена полей в схеме прото. Проблема в том, что прото-генератор видит это как переопределение.
Я хотел бы сделать это, потому что в моей ситуации это делает сериализацию json простой JsonFormat
.
Например, яможет иметь
message MyResponse {
int32 a = 1;
string b = 2;
oneof Properties {
PropertiesType1 properties = 3;
PropertiesType2 properties = 4;
PropertiesType3 properties = 5;
PropertiesType4 properties = 6;
}
}
Есть ли способ обойти это, или придется приложить усилия для переопределения прото? Возможным обходным путем может быть, например, использование map<string, Properties> properties = 9;