GoFrame:如何简单地搭建一个简单地微服务

一切资料来源于GoFrame官网, 感兴趣的, 可以直接去官网查阅相关资料。

首先下载框架工具, 下载地址:https://github.com/gogf/gf/releases

然后进入你想要放置的项目文件夹, 执行命令行

bash 复制代码
gf init {project_name} #project_name为你的项目名

执行完后项目结构如图所示

然后打开mysql数据库, 新建数据库, 库中新建一张表(一般都会结合数据存储去做服务, 所以这里结合数据库说明)

然后再项目文件中添加数据库配置

然后再命令行执行如下命令, 从数据库中反向映射模型

bash 复制代码
gf gen pbentity

即可在项目中的manifest/protobuf中生成pbentity模型文件夹, 生成的proto文件, proto为Google官方开发的数据格式, 数据传输比json高效, 感兴趣的话, 可以自行了解。

然后再protobuf中撰写一个接口文件

然后执行如下命令生成接口和控制器文件

bash 复制代码
gf gen pb

此时会生成对应的接口文件如下:

然后执行如下命令, 反向映射dao模型文件

bash 复制代码
gf gen dao

可以看到dao中和model中多了t_person.go等文件

然后去logic编写服务给controller调用, 在logic中构建person.go文件

然后执行命令生成service接口

bash 复制代码
gf gen service

可以看到service中生成了person.go文件, 里面内容是申明了person服务的接口, 然后再logic/person/person.go中注册服务接口

然后再controller中重写person的控制器方法调用service即可完成整个api调用链路

最后回到internal/cmd/cmd.go中构建grpc命令, 并且注册控制器成为路由, 即可完成整个服务的构建

然后启动main.go, 即可启动整个服务了, 启动结果如下:

相关推荐
国科安芯36 分钟前
商业立方星平台中高集成度抗辐射MCU的功耗优化与批量化应用可行性探讨
单片机·嵌入式硬件·架构·risc-v·抗辐射·as32x601
ESDWAN3 小时前
企业跨境网络合规建设指南:从线路选择到数据出境的全流程方案
网络·架构
MrSYJ3 小时前
别人再问你路由表是啥,这篇文章摔它脸上
docker·云原生·kubernetes
用户5372312882464 小时前
从一句话到水密 STL:给科研工具装 LLM Agent 的安全架构实录
架构
沫璃染墨4 小时前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》
linux·服务器·开发语言·c++·驱动开发·安全·架构
用户5708462574404 小时前
AI 会话该什么时候重开?一份「上下文卫生」的判断清单
架构
励志不掉头发的内向程序员4 小时前
从鼠标点击到画出一条线:CAD 交互层的状态机设计
后端·架构
运维开发王义杰4 小时前
ingress-nginx 退役后怎么选:Istio、Kong、Traefik 与 APISIX
云原生
bullkingluo4 小时前
从零到一搭建企业级智能问答系统:Ch14 · 三层记忆与断点续跑
架构·llm·agent
400分4 小时前
从零到「机械臂会放试管」:π0.5 VLA 真机部署完全指南(第二节)
人工智能·架构