option go_package =".;test"; message MyMessage {// @inject_tag: json:"Code"int64Code =1; } 可以看到与之前不同的是我们在Code这个字段上面加了一行注释// @inject_tag: json:"Code"。 执行 protoc --proto_path=. --go_out=. test.proto protoprotoc-go-inject-tag -input=./test.pb.go 这...
go install github.com/favadi/protoc-go-inject-tag@latest 运行protoc-go-inject-tag命令覆盖默认结构体tag: protoc-go-inject-tag -remove_tag_comment -input=xxxx_path_to_pb_go_file.pb.go 4. 通过makefile集成 install-protoc-go-inject-tag: @hash protoc-go-inject-tag > /dev/null 2>&1; if...
// @inject_tag: valid:"ip"stringAddress =1; } 3.生成文件 protoc --go_out=. test.proto protoc-go-inject-tag -input=./test.pb.go
打开一个新的终端窗口,运行以下命令来检查 protoc-go-inject-tag 是否已正确安装: bash protoc-go-inject-tag --version 如果命令返回了版本号信息,说明安装成功;如果返回 "command not found" 或其他错误信息,请检查环境变量配置是否正确,或者重新执行安装命令。通过...
$protoc-go-inject-tag -input=./test.pb.go#or$protoc-go-inject-tag -input="*.pb.go" The custom tags will be injected totest.pb.go: typeIPstruct{// @gotags: valid:"ip"Addressstring`protobuf:"bytes,1,opt,name=Address,json=address" json:"Address,omitempty" valid:"ip"`} ...
protoc-go-inject-tag -input=./example/testproto/test.pb.go --go_out ./example/api --go_opt=paths=source_relative \ --go-gin_out ./example/api --go-gin_opt=paths=source_relative \ example/api/product/app/v1/v1.proto protoc-go-inject-tag -input=./example/api/product/app/v1/...
通过对xxx.proto通过注释的形式加入验证tag(使用方式文档下方有说明), 然后再使用inject_tool.sh xxx.proto编译, 这样生成的xxx.pb.go文件中的struct注入自定义的tag 通过验证器对struct中的tag进行验证 2. 注入工具使用 先下载本项目:go get -u gitee.com/xuesongtao/protoc-go-valid ...
go test ./... --cover --count=2 proto 参数校验 1.下载插件 go get github.com/favadi/protoc-go-inject-tag 2.proto⽂件中写注释 // file: test.proto syntax = "proto3";package pb;message IP { // @inject_tag: valid:"ip"string Address = 1;} 3.⽣成⽂件 protoc --go_out=. ...
可以看到与之前不同的是我们在Code这个字段上面加了一行注释// @inject_tag: json:"Code"。 执行 protoc --proto_path=. --go_out=. test.proto protoprotoc-go-inject-tag -input=./test.pb.go 这时候导出的test.pb.go文件里的MyMessage结构体如下: ...
protoc-go-inject-tag -input=./example/testproto/test.pb.go --go_out ./example/api --go_opt=paths=source_relative \ --go-gin_out ./example/api --go-gin_opt=paths=source_relative \ example/api/product/app/v1/v1.proto protoc-go-inject-tag -input=./example/api/product/app/v1/...