api demo 代码生成 | go-zero Documentation
编辑
编辑
服务名称:demo-api
HOST地址:0.0.0.0监听所有可用网络接口
Port地址:服务运行在8888端口
编辑
存储config信息,这里rest.RestConf是RESTful API的结构体,此外还可以添加数据库,缓存配置信息
编辑
输入SvcContext(后面自己定义),返回HandlerFunc函数
三个过程:
解析request的类型,解析错误,返回error(下图为httpx.ErrorCtx源码)
编辑
l := logic.NewDemoLogic(r.Context(), svcCtx)的相关代码是我们后面自己定义,
l.Demo实际上充当了业务逻辑的处理过程
失败,返回报错,成功,则带上OK(200状态码)返回
编辑
这个文件夹的代码由goctl自动生成,注册路由,方法是get,路径是/from/:name(:name代表路径有一个名为name的参数,在后面定义了这个name类型的参数)
[]rest.Route代表了该类型的切片,包含了定义路由的那个结构体
编辑在demhandler中用到的代码
DemoLogic结构体:logger(用于记录日志),ctx(请求的上下文信息),svcCtx(服务相关的信息,数据库连接,缓存实例)
NewDemoLogic就是用于New一个DemoLogic实例
Demo方法就是处理request,构造response的方法,具体的业务逻辑代码
type是后面定义的
用途是通过创建svcCtx来访问config字段,套娃,增强代码的解藕性
goctl自动生成,request和response结构体长得样子
name类型被定义,可选为you或者me
生成routes.go和types.go的文件依据,注册api处理的handler
采用proto3语法(一种数据交换格式)
主文件,有如下步骤
测试
与预期结果相符合