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, 即可启动整个服务了, 启动结果如下:

相关推荐
Shulex2 小时前
跨境电商 AI Agent 核心架构解析:从只读问答到自主执行的工程落地
人工智能·架构·智能客服·跨境电商
钱工的门窗技术笔记2 小时前
室内极窄全景移门的支承路径与预留接口:轨道形式、型材壁厚口径与验收边界
物联网·架构·数据分析
码农小旋风3 小时前
Ray分布式计算引擎介绍
人工智能·架构
时间售卖铺3 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
ZhengEnCi3 小时前
Agent 架构怎么选:从单 Agent 到多 Agent 编排的选型决策指南
算法·架构
星融元asterfusion3 小时前
工业网络升级实战:100G 双轨 Leaf-Spine 架构破解高并发出货网络瓶颈
网络·架构·spine
天远数科4 小时前
零信任架构实战:基于天远企业法人四要素高级版构建自动化供应商资质穿透核验网关
人工智能·架构·自动化
深蓝AI5 小时前
苹果智能入华拆解:八样首批功能、支持的机型、千问在三个入口的位置
人工智能·架构
海宇大数据6 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化持牌网络小贷小微商户极速助业贷秒级全维风险决策网关
网络·人工智能·架构·自动化
云-缩影8 小时前
拆解函数计算 Serverless GPU 部署 AI 模型:Flux 生图和语音复刻怎么跑的
人工智能·云原生·serverless