当前位置:   article > 正文

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

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模块编写逻辑代码就可以了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/1003567
推荐阅读
相关标签
  

闽ICP备14008679号