作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的 protobuf 定义,
message SearchRequest {
string my_id = 1;
enum MyStrategy {
MY_TEST1 = 1;
MY_TEST2 = 2;
}
MyStrategy my_strategy = 2;
}
现在我想添加一个选项,例如如果选择了 MY_TEST2,则要求客户从另一组选项中再次选择,如果选择了 MY_TEST1,则不会提供任何选项。
最佳答案
提示输入值的实际行为是一个与 protobuf 完全无关的 UI 事物; protobuf 只是描述数据交换,所以我猜(尽管请纠正我)你实际上想说的是:
As part of a search, the user needs to choose a "strategy"; each strategy has different fields that need to be provided; how can I describe the fields needed for each strategy, and encode the selection of the strategy?
如果是这样,听起来您实际上想要描述的是一个oneof
,即
syntax="proto3";
message SearchRequest {
string my_id = 1;
oneof strategy {
SearchOptionsFoo foo = 2;
SearchOptionsBar bar = 3;
}
}
message SearchOptionsFoo {
// fields here ...
}
message SearchOptionsBar {
// fields here ...
}
关于protocol-buffers - 如何在 protobuf 中添加一个 if 类型的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59351540/
我是一名优秀的程序员,十分优秀!