使用 envoy 代理验证器和 gogo protobuf 进行验证

Go validation using envoy proxy validator and gogo protobuf

我正在尝试编写插件来生成验证 go 文件。其中使用 https://github.com/mwitkow/go-proto-validators and envoy proxy validator https://github.com/envoyproxy/protoc-gen-validate。下面是我的命令

protoc  \
--proto_path=${GOPATH}/src \
--proto_path=${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0
--proto_path=. \
--gogo_out=. \
—-validate_out=“lang=go:.\”
--govalidators_out=gogoimport=true:. \
proto/*.proto

当我 运行 以上命令时,我遇到以下错误?关于如何解决这个问题的任何建议专家。感谢您的帮助。

zsh: command not found: --proto_path=.
zsh: command not found: --govalidators_out=gogoimport=true:. 

添加缺失的“/”后

protoc  \
--proto_path=${GOPATH}/src \
--proto_path=${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 \
--proto_path=. \
--gogo_out=. \
-—go_out=":./generated" \
—-validate_out="lang=go:./generated" \
--govalidators_out=gogoimport=true:. \
proto/test.proto

我收到 未知标志:-?

你错过了 \ get-validate 之后...

protoc  \
--proto_path=${GOPATH}/src \
--proto_path=${GOPATH}/pkg/mod/github.com/gogo/protobuf@v1.3.2 \
--proto_path=${GOPATH}/pkg/mod/github.com/envoyproxy/protoc-gen-validate@v0.1.0 \
--proto_path=. \
--gogo_out=. \
—-validate_out="lang=go:." \
--govalidators_out=gogoimport=true:. \
proto/*.proto