使用go-zero微服务框架写服务程序时,可以先编写api文件,然后使用goctl工具生成目录和必要的文件,这样可以剩下大量开发工作。 如何编写api文件。 syntax = "v1" import "xx.api" info( author: "xxx" date: "2022-01-01" desc: "xxx-api文档" ) type ( // 请求的结构体LoginReq { Username string `json...
在Go Zero中,一个API项目应该具备良好的代码结构。推荐的结构如下: 1.项目根目录下包含一个main.go文件,用于启动服务。 2.项目根目录下应该包含一个rpc目录,用于存放protobuf相关文件,以及生成的代码文件。 3.项目根目录下应该包含一个etc目录,用于存放配置文件。 4.项目根目录下应该包含一个internal目录,用于存放...
gozero第二讲,定义.api文件,生成代码,编写逻辑,测试 792 1 21:50 App Go实战:20分钟从0到1搞定新功能的开发 62 -- 18:46 App gozero全栈实战第30讲,api调用rpc编辑部门 173 2 28:50 App gozero全栈实战第24讲,跑起来一个rpc服务1,最佳实践,etdc搭建,rpc服务接口测试,参数获取 102 -- 11:59 App...
goinstall github.com/zeromicro/go-zero/tools/goctl@latest image.png go-zero 开发 新建项目目录 mkdir gozero cd gozero 初始化一个API服务 goctl apinewhome_web image.png 这里选择在当前目录新建一个api服务,执行后生成了hoime_web文件夹,其中包含go.mod、go-zero框架等完整的目录文件,目录结构为, D:...
api -dir . -style go-zero # 合并同一个分组下的handler,并生成对应的文件 # goctl-go-compact 需要手动安装一下才能使用 goctl api plugin -p goctl-go-compact -api user.api -dir . -style go-zero 生成后的目录结构: ├── api.api // api描述文件├── etc │ └── user-api.yaml /...
对于Go语言开发者来说,Go-Zero的API语法学习和理解成本极低,我们可以很轻松的学会API语法。下面我会为大家介绍重点需要掌握的语法。更详细的语法规范,可以参考官网:API 规范 | go-zero Documentation 生成API文件 cddemo goctl api go -api demo.api -dir. -style gozero ...
编译API 接口文件 在add.api 文件所在目录下,使用 go-zero 的脚手架工具 goctl 编译 add.api 文件: # goctl api go -api add.api -dir .Done. 编译成功后的目录结构: . ├──add.api├──adder.go# 服务端 main 函数所在文件├── etc ...
go-zero--api层通过metadata方式向rpc传公共参数,目录一、应用场景二、api层2.1封装一个全局的上下文RootCtx2.2编写中间件headerMiddleware.go2.3api的main.go中使用
API定义 可能大家在工作中都遇到过这样的场景,就是代码更新了但是文档没有更新,从而产生一些问题导致一些扯皮事情的发生。这个问题的本质是服务和文档是割裂的。我们期望的是文档即协议,协议即服务,这个理念与go-zero的api定义不谋而合。 我们定义了BFF层,BFF是对外提供HTTP接口的统一出口,所以我们这里API的定义主要是...