下文所说的是api是 go-zero 自研的领域特性语言(下文称 api 语言 或 api 描述语言),旨在实现人性化的基础描述语言,作为生成 HTTP 服务最基本的描述语言。 api 领域特性语言包含语法版本、info 块、结构体声明、服务描述等几大块语法组成,其中结构体和 Golang 结构体 语法几乎一样,只是移除了struct关键字。 实战...
api文件是指用于定义和描述api服务的文本文件,其以.api后缀结尾,包含api语法描述内容。 对比 看招聘情况 go-zero 和 go-kratos 比较多。 go-zero go-zero整体上做为一个稍重的微服务框架,提供了微服务框架需要具备的通用能力,同时也只带一部分的强约束,例如针对web和rpc服务需要按照其定义的DSL的协议格式进行定义...
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 { File string `path:"file"` } service file-api { @handler DownloadHandler get /static/:file(DownloadRequest) } zero-api的语法还是比较能自解释的,含义如下: syntax = “v1”表示这是zero-api的v1语法...
在开始之前,假设你已经对go-zero有了基本的了解,并且了解go-zero编写api文件的语法。如果还不了解,建议先阅读这里https://go-zero.dev/cn/docs/design/grammar/ 开发环境: Windows 11 Terminal preview go 1.19 go-zero的进阶指南的演示工程,共包含2个模块:user和search,本篇讲述的是search模块,user模块请参见:...
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) ...
home_web.api 特有的.api文件,有自己的语法规则,通过定义好的内容生成对应的api系列go文件,也可作为文档查阅 // 请求、响应的字段规则属性typeRequest{Namestring`path:"name,options=you|me"`}typeResponse{Messagestring`json:"message"`}// 服务名称,路由方法地址规则service home_web-api{@handler Home_webHan...
zero-demo/user-api/api/user.api 命令行自动创建 mkdir zero-demo && cd zero-demo/ goctl api new user syntax = "v1" info( author: "user-api" date: "2022-03-26" desc: "api语法示例及语法说明" ) type UserInfoRequest { UserId int64 `json:"userId"` ...
api 网关层 编写blog.api 文件 生成blog.api 文件 执行命令 goctl api -o blog.api,创建 blog.api 文件。 api 文件的作用 api 文件的详细语法请参阅文档[go-zero.dev/cn/api-gram…],本文按照个人理解谈一谈 api 文件的作用和基础语法。 api 文件是用来生成 api 网关层的相关代码的。