1. 安装protobuf v3.*
导出到PATH路径
2. 安装protoc的go插件
$ go get google.golang.org/protobuf/cmd/protoc-gen-go \
google.golang.org/grpc/cmd/protoc-gen-go-grpc
go get github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2
$ export PATH="$PATH:$(go env GOPATH)/bin"
3. 编译pb文件生成pb结构和grpc service定义
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative api/*.proto
4. 编译pb文件反向代理
protoc -I . --grpc-gateway_out . \
--grpc-gateway_opt logtostderr=true \
--grpc-gateway_opt paths=source_relative \
--grpc-gateway_opt generate_unbound_methods=true \
api/*.proto
5.生成api描述文档
protoc -I . --openapiv2_out ./api/ --openapiv2_opt logtostderr=true pb/*.proto
_ "github.com/gogo/protobuf/gogoproto"
proto "github.com/golang/protobuf/proto"
authpb "go.etcd.io/etcd/api/v3/authpb"
mvccpb "go.etcd.io/etcd/api/v3/mvccpb"
_ "google.golang.org/genproto/googleapis/api/annotations"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
curl -X POST http://192.168.2.172:8081/pplat.PPlatService/ListChannels