ToB企服应用市场:ToB评测及商务社交产业平台
标题:
Protobuf Options 自定义插件使用
[打印本页]
作者:
民工心事
时间:
2023-2-18 20:45
标题:
Protobuf Options 自定义插件使用
ProtoOptions
简介
使用protobuf的options,我们可以添加我们自己的option,然后根据option生成代码添对proto中的参数进行处理,例如添加message的校验。
extension
能够对已经存在的消息进行扩展,这种扩展只是动态增加字段,而没有增加接口。
例子:扩展protobuf的FieldOptions
message MyFileOptions {
optional bool ok = 1;
}
// 扩展protobuf的MessageOptions
extend google.protobuf.FileOptions {
optional MyFileOptions my_file_option = 51234; // 取一个自定义不重复值
}
复制代码
protobuf options
google.protobuf.FileOptions
google.protobuf.ServiceOptions
google.protobuf.MethodOptions
google.protobuf.MessageOptions
google.protobuf.FieldOptions
google.protobuf.EnumOptions
google.protobuf.EnumValueOptions
google.protobuf.OneofOptions
google.protobuf.ExtensionRangeOptions
实现自定义option
扩展实现
mkdir protoc-gen-my-option
cd protoc-gen-my-option
复制代码
实现一个FileOptions
[code]mkdir proto# 在proto中实现自己的option,可以将EOF的内容拷贝到proto/my_option.proto中echo > proto/my_option.proto
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4