Proto3 已被简化,不再支持required
and字段(请参阅为什么在 Protocol Buffers 3 中删除了 required 和 optional)。还有一种方法可以将某个字段标记为吗?我调查过,并尝试过这样的事情:optional
required
FieldOptions
message MyMeta {
bool isRequired = 1;
}
extend google.protobuf.FieldOptions {
MyMeta meta = 1234;
}
message Person {
string name = 1 [ (meta) = { isRequired: true }];
string address = 2 [ (meta) = { isRequired: true }];
string remarks = 3;
}
将其编译成 Java 代码后,当我检查编译后的 Java 代码时,我没有看到我在 proto.xml 中指定的字段与其元数据之间的任何链接。我在这里错过了什么吗?