背景
当你开发grpc服务久了, 再去开发http服务的时候, 你会明显发现, 开发http的时候没有那么方便?
你需要注册http路由,编写对应的handler来处理, 也最多就基于某个web框架,比如: gin, 来写一大堆web服务的初始代码,很难受!!!
而且,一般情况, 接口的req和resp也是通过proto来定义的,到那时使用proto的功能也仅限于.pb.go文件生成的功能, 完全没有像使用grpc那么方便和强大。
想想写grpc的时候, 这些初始化代码是自动生成的(包括: server端和client端代码),你只需要定义对应的proto文件即可, 然后,client引用对应生成的client端代码就能很方便的创建一个client出来。
执行的命令如下:
API_PROTO_FILES=$(find ./api -name *.proto)
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@latest
mkdir