proto文件扩展功能
Proto 文件#
proto 在微服务上非常流行,基本上不是 json 就是 proto 了,这里不做介绍。
扩展标签#
proto 文件最终是生成 go 源码的,但是原生 protoc 命令无法扩展 go 源码的 tag。所以这里提供独立命令自定义 proto 文件生成 go 源码的 tag;
// @Tag("bson")
// @Tag("form")
// @Tag("json")
syntax = "proto3";
package test;
option go_package = "test";
import "google/protobuf/descriptor.proto";
// 动态基础数据
feed_idmessage FeedInfo {
// @Tag("bson","_id")
mongo id string id = 1;
// 作者
uint32 author = 2;
}
定制 tag 格式是
@Tag("json")
// or
@Tag("json", "{name}")
// or
@Tag("json", "{name},omitempty")
推荐文章: