已发表的技术专栏
0 grpc-go、protobuf、multus-cni 技术专栏 总入口
4 grpc、oauth2、openssl、双向认证、单向认证等专栏文章目录
1、protoc-gen-go-https插件源码下载 |
此插件是从https://github.com/gotomicro/ego框架里抽取了的prototobuf插件用例;
源码已经上传到百度网盘了。
链接: https://pan.baidu.com/s/1RNDYSmX38xFc_O7iDeGdcw 提取码: t3w6
2、该插件的目的 |
该插件是通过proto来生成相应的web接口。
底层是将rpc接口封装成web接口,提供服务。
3、测试样例greeter.proto、以及生成的xxx_http.pb.go样例 |
从图片中,可以看出来,至少有3方面的要求:
- proto文件里必须含有service模块
- 导入依赖
- 需要在proto文件里的service模块里设置http语法规则
最终想要的xxx_http.pb.go文件,如下图所示:
4、google/api/annotations.proto 依赖文件说明 |
相关依赖文件下载地址
https://github.com/googleapis/googleapis
并且,已经上传到了百度网盘,以及测试工程里了
已经上传到百度网盘
链接: https://pan.baidu.com/s/1RNDYSmX38xFc_O7iDeGdcw 提取码: t3w6
下载后,如何存放到合适的位置?
4.1、方式一:直接存储到protobuf软件的安装目录下 |
如:
protobuf软件原生自带的是protobuf目录,其他目录都是将下载后的文件,拷贝过来的
提供的测试工程里,也自带了。
可下载查看
存储到protobuf安装目录下的好处是,编译proto文件时,不需要再添加-I参数指明路径了。
4.2、方式二:可根据自己的实际情况存放到某个路径下 |
只是,在编译时,需要使用-I 来指明路径;
假设,将google/api存储到protoc-gen-go-http目录的dep目录下
5、google.api.http语法规则 |
可以参考下面的文章
https://blog.csdn.net/xiaojia1100/article/details/79447283
6、proto-gen-go-https源码说明 |
具体源码,就不再看了。
实现流程跟protoc-gen-go-errors非常类似。
下一篇文章