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")