一切资料来源于GoFrame官网, 感兴趣的, 可以直接去官网查阅相关资料。
首先下载框架工具, 下载地址:https://github.com/gogf/gf/releases
然后进入你想要放置的项目文件夹, 执行命令行
gf init {project_name} #project_name为你的项目名
执行完后项目结构如图所示
然后打开mysql数据库, 新建数据库, 库中新建一张表(一般都会结合数据存储去做服务, 所以这里结合数据库说明)
然后再项目文件中添加数据库配置
然后再命令行执行如下命令, 从数据库中反向映射模型
gf gen pbentity
即可在项目中的manifest/protobuf中生成pbentity模型文件夹, 生成的proto文件, proto为Google官方开发的数据格式, 数据传输比json高效, 感兴趣的话, 可以自行了解。
然后再protobuf中撰写一个接口文件
然后执行如下命令生成接口和控制器文件
gf gen pb
此时会生成对应的接口文件如下:
然后执行如下命令, 反向映射dao模型文件
gf gen dao
可以看到dao中和model中多了t_person.go等文件
然后去logic编写服务给controller调用, 在logic中构建person.go文件
然后执行命令生成service接口
gf gen service
可以看到service中生成了person.go文件, 里面内容是申明了person服务的接口, 然后再logic/person/person.go中注册服务接口
然后再controller中重写person的控制器方法调用service即可完成整个api调用链路
最后回到internal/cmd/cmd.go中构建grpc命令, 并且注册控制器成为路由, 即可完成整个服务的构建
然后启动main.go, 即可启动整个服务了, 启动结果如下: