validate简介
- 其实是帮我们在grpc中实现验证器的一个插件,会帮我们生成具有验证器功能的go代码。
下载
- git方式:通过下面的cmd命令,克隆项目下来,然后cd命令进入到你拉取的protoc-gen-validate项目的文件路径下,然后运行第三步命令。之后你就会在你的GOPATH的bin目录(这是我的C:\Users\SLY FOX\go\bin)下发现一个exe文件,没错他就是protoc-gen-validate.exe文件,恭喜你,离成功就差一步了,把这个文件复制放入你的GOROOT目录下,就可以了。(不知道GOPATH和GOROOT路径的,在cmd中运行go -env命令就能看到了)
//第一步
git clone https://github.com/envoyproxy/protoc-gen-validate
//第二步
cd 你拉取的protoc-gen-validate项目的文件路径
//第三步
go install .
- 下载zap包方式:同样访问https://github.com/envoyproxy/protoc-gen-validate这个连接,然后点击那个绿色的code,点击最下面的zap包下载,然后解压到自己的GOPATH的src目录下。解压之后在cmd中输入cd 该项目文件路径(就是你刚刚解压的protoc-gen-validate文件的路径)。或者你可以直接在你解压完成的文件下直接打开cmd都行,然后运行下面的命令。之后你就会在你的GOPATH的bin目录(这是我的C:\Users\SLY FOX\go\bin)下发现一个exe文件,没错他就是protoc-gen-validate.exe文件,恭喜你,离成功就差一步了,把这个文件复制放入你的GOROOT目录下,就可以了。(不知道GOPATH路径的,在cmd中运行go -env命令就能看到了)
go install .
validate的使用
- 如果你是protoc-gen-go1.27.1版本或相近版本,那么你需要使用新的protc-gen-go命令对应的两个文件,这些操作都在我的上一篇文章中介绍了,现在我们通过下面的命令行来使用(在此之前你需要把protoc-gen-validate这个项目中的validate.proto文件放到你当前项目的proto文件一起,然后在你的proto文件中import这个这个文件)。
//第一步
cd 你的proto文件的路径
//第二步
protoc --go_out=. --go-grpc_out=. --validate_out="lang=go:." 你的文件.proto
这一步把三个命令一起执行,生成的三个文件都是放在当前目录下(我的上一篇文章是分开使用,没什么区别),最后一个--validate_out="lang=go:." 命令是生成validate.go文件的。