当前位置: 首页 > news >正文

Go-Zero微服务框架下开发接口流程

目录

一:定义api入参和返回值

二:生成入参和返回值文件

三:定义rpc参数和返回值

四:生成返回值和参数

五:定义数据库

六:生成数据库文件


今天我们来讲解下如何在Go-Zero下开发一个api接口的具体流程,我们以开发一个用户详情接口为例来说明。

一:定义api入参和返回值

首先定义入参和出参,在user.api里面定义

type (//用户详情UserReadRequest {Id         int64  `form:"id"`}UserReadResponse {Id          int64   `json:"id"`Name string  `json:"name"`CreateTime  string `json:"create_time"`UpdateTime  string `json:"update_time"`}
)
二:生成入参和返回值文件

  在desc目录下 goctl api go -api user.api  -dir ../  --style=goZero --home="../../../../deplo
y/goctl"

三:定义rpc参数和返回值

在pb目录下proto文件中定义

// 详情
message UserReadRequest {int64 Id = 1;
}
message UserReadResponse {int64  Id     = 1;string Name    = 2;}
四:生成返回值和参数

 goctl rpc protoc usercenter.proto --go_out=../ --go-grpc_out=../  --zrpc_out=../ --style=goZero -m

五:定义数据库

在model/sql目录下生成

CREATE TABLE `admin_use` (`id` int unsigned NOT NULL AUTO_INCREMENT,`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名',`create_time` int unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',`update_time` int unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '真实姓名',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT;
六:生成数据库文件

goctl model mysql ddl -src ./model/sql/adminuser.sql -dir ./model -c

至此我们的文件定义已经完成,只需要在api模块和rpc模块编写逻辑代码就可以了。


http://www.mrgr.cn/news/2118.html

相关文章:

  • 【深度学习】OCR, 如何使用 Tesseract 进行 OCR 识别
  • spring揭秘07-aop基本要素及代理模式3种实现
  • 【C++】————智能指针
  • 赛氪网闪耀IGTA2024:为青年学者搭建平台,获科协高度评价
  • Linux信号的概念信号的产生
  • Web开发:ORM框架之Freesql的入门和技巧使用小结
  • HTTP范围放大攻击简记
  • 牛客算法小题
  • openssl查看证书公钥 openssl 验证证书和密钥
  • Linux软件编程day(12) -udp
  • 深度学习----------------------深度卷积神经网络AlexNet
  • Python3网络爬虫开发实战(9)代理的使用 (需补充代理池的构建)
  • 蓝队技能-应急响应篇C2后门权限维持手法WindowsLinux基线检查排查封锁清理
  • 使用 ESP32 和 TFT 屏幕显示实时天气信息 —— 基于 OpenWeatherMap API
  • 大数据背景下基于Python语言的单车租赁商业数据可视化分析
  • 设计资讯 | 这款受数学方程启发的平板桌:配集成黑胶唱片机和无线充电器
  • 无人机模拟训练室技术详解
  • linux基本指令
  • PostgreSQL 不完全兼容 Oracle 的 SQL 语法,如何模拟功能?
  • (亲测有效)SpringBoot项目集成腾讯云COS对象存储(1)