生成CRUD的api接口代码工具都比较成熟了,CRUD代码都是标准化固定化的,比较容易生成,对于任意自定义的api接口代码,应该不少开发者还是手工编写,这些不是标准化接口代码,应该如何生成呢?
这里的解决方案是使用protobuf协议来描述api接口,通过protoc插件 protoc-gen-go-gin 来生成web服务的任意api接口代码。
依赖工具
- 准备proto文件 user.proto。
- 安装工具 sponge。
安装完工具sponge后,执行命令打开UI界面:
sponge run
快速创建web项目
进入sponge的UI界面,点击左边菜单栏【Protobuf】-->【创建web项目】,填写一些参数生成web服务项目代码 。
web框架使用 gin,还包含了swagger文档、常用的服务治理功能代码,构建部署脚本等,使用什么数据库由使用者选择。
切换到web目录,执行命令:
# 生成代码
make proto
# 打开internal/handler/user.go代码文件,根据生成的模板代码填写具体逻辑代码。
# 编译和启动服务
make run
在浏览器打开 http://localhost:8080/apis/swagger/index.html 就可以测试api接口了。
这是根据上面步骤生成的通用web服务代码 github.com/zhufuyi/spo…
在生成的通用web服务代码基础上可以自动添加CRUD api接口、人工添加自定义api接口,请查看详细的开发通用web服务文档 go-sponge.com/zh-cn/web-d…