下文所说的是api是 go-zero 自研的领域特性语言(下文称 api 语言 或 api 描述语言),旨在实现人性化的基础描述语言,作为生成 HTTP 服务最基本的描述语言。 api 领域特性语言包含语法版本、info 块、结构体声明、服务描述等几大块语法组成,其中结构体和 Golang 结构体 语法几乎一样,只是移除了struct关键字。 实战...
编译API 接口文件 在add.api 文件所在目录下,使用 go-zero 的脚手架工具 goctl 编译 add.api 文件: # goctl api go -api add.api -dir .Done. 编译成功后的目录结构: . ├──add.api├──adder.go# 服务端 main 函数所在文件├── etc │ └──adder.yaml# 配置文件└── internal ├──co...
import "x/xxx.api" 或者: import( "xxx.api" "x/xxx.api" ) info 主要作用是负责对api文件的描述。且每个api文件最多只能有1个info语法块。 「规范写法:」 info( author: "xxx" date: "2022-01-01" desc: "xxx-api文档" ) type 结构体,由go语言的结构体演化而来,与go语言的结构体语法一致。 se...
我们在api目录下创建一个名为download.api的文件,内容如下: syntax ="v1"type DownloadRequest { Filestring`path:"file"` }servicefile-api { @handler DownloadHandler get /static/:file(DownloadRequest) } zero-api的语法还是比较能自解释的,含义如下: syntax = “v1”表示这是zero-api的v1语法 type Do...
API .api 语法示例 info(author:"xxx"date:"xxx"desc:"api语法示例及语法说明") @server(jwt: Authgroup: votes // 定义文件夹分组middleware: Usercheck)service votes-api {@doc(summary:"投票")@handlervotepost /votes/vote (VoteReq) returns (VoteResp) ...
完成rpc访问功能后,还需要进行客户端调用,会用到goctl 的api功能;创建api目录编写api文件;api相关语法可以参考官方文档:api语法介绍 1、API文件编写 其中 登录注册增加了参数验证,使用 validator 包进行验证详细使用方法可以到 github.com/go-playground/validator 查看 syntax = "v1" type ( LoginRequest { Email ...
定义 API 文件,比如 greet.api,可以在 vs code 里安装goctl插件,支持 api 语法type Request struct { Name string `path:"name,options=you|me"` // 框架自动验证请求参数是否合法}type Response struct { Message string `json:"message"`}service greet-api { @server( handler: GreetHandler )...
Go Zero 是一种基于 Go 语言的轻量级 Web 框架,旨在为开发者提供高效、简洁的 API 与高性能网络处理能力。本教程旨在全面覆盖 Go Zero 的关键功能与最佳实践,引导开发者快速构建高性能 Web 应用,从安装配置、基础语法到实战案例,一步步深入探索搭建 Web 服务的全过程。 Go Zero 安装与环境配置 安装Go 语言环境...
home_web.api 特有的.api文件,有自己的语法规则,通过定义好的内容生成对应的api系列go文件,也可作为文档查阅 // 请求、响应的字段规则属性typeRequest{Namestring`path:"name,options=you|me"`}typeResponse{Messagestring`json:"message"`}// 服务名称,路由方法地址规则service home_web-api{@handler Home_webHan...