使用goctl快速创建项目

使用goctl快速创建项目

前言

刚刚了解完 go-zero项目架构设计,Kevin老师也讲的非常通俗易懂,能够很好的把一些理念和SpringCloud的思想对应起来,下面就开始正式学习一下go-zero项目了~

下载Go代码生成工具

配置代理,解决依赖下载困难的问题

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn/,direct

然后进行依赖的下载,主要是下载 goctl 用来生成我们的项目

go get -u github.com/tal-tech/go-zero/tools/goctl

在这里插入图片描述

编写业务代码

  • api文件定义了服务对外暴露的路由,可参考api规范

  • 可以在servicecontext.go里面传递依赖给logic,比如mysql, redis等

  • 在api定义的get/post/put/delete等请求对应的logic里增加业务处理逻辑

goctl用途

  • 定义api请求
  • 根据定义的api自动生成golang(后端),java(ios & android),typescript
  • 生成MySQL CURD + Cache
  • 生成MongoDB CURD + Cache

goctl使用说明

快速生成服务

# 生成api服务(类似于单体应用)
api: goctl api new xxxx

# 生成rpc(类似于微服务)
rpc: goctl rpc new xxxx

goctl参数说明

goctl可以根据api文件生成前端需要的Java、TypeScript、JavaScript代码

goctl api [go/java/ts] [-api user/user.api] [-dir ./src]

例如

goctl api java -api greet.api -dir greet
goctl api dart -api greet.api -dir greet
...

快速生成api服务

安装好 goctl项目后,我们就可以开始自动生成 项目了

# 初始化项目  greet
 goctl api new greet
# 进入目录 
cd greet
# 读取配置文件运行项目
go run greet.go -f etc/greet-api.yaml

生成后的项目代码如下所示

在这里插入图片描述

默认侦听在8888端口(可以在配置文件里修改),可以通过url请求:

http://localhost:8888/greet/from/you

如果有以下返回结果,表示项目运行成功~

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值