朵小喵儿|Go 每日一库之云原生 go-zero 微服务框架( 二 )
也可以通过 goctl 生成 api 模本文件 , 命令如下:
goctl api -o greet.api
- 生成 go 服务端代码
goctl api go -api greet.api -dir greet
生成的文件结构如下:├── greet│├── etc││└── greet-api.json// 配置文件│├── greet.go// main文件│└── internal│├── config││└── config.go// 配置定义│├── handler││├── greethandler.go// get/put/post/delete等路由定义文件││└── routes.go// 路由列表│├── logic││└── greetlogic.go// 请求逻辑处理文件│├── svc││└── servicecontext.go // 请求上下文 , 可以传入mysql, redis等依赖│└── types│└── types.go// 请求、返回等类型定义└── greet.api// api描述文件
生成的代码可以直接运行:cd greetgo run greet.go -f etc/greet-api.json
默认侦听在 8888 端口(可以在配置文件里修改) , 可以通过 curl 请求:【朵小喵儿|Go 每日一库之云原生 go-zero 微服务框架】
?go-zero git:(master) curl -w "\ncode: %{http_code}\n" http://localhost:8888/greet/from/kevin{"code":0}code: 200
编写业务代码:- 可以在 servicecontext.go 里面传递依赖给 logic , 比如 mysql, redis 等
- 在 api 定义的 get/post/put/delete 等请求对应的 logic 里增加业务处理逻辑
- 可以根据 api 文件生成前端需要的 Java, TypeScript, Dart, JavaScript 代码
goctl api java -api greet.api -dir greetgoctl api dart -api greet.api -dir greet...
7. Benchmarkbenchmark
测试代码见这里:
8. 项目地址
- 朵小喵儿|国产手机,2021年迎来考验,美国企业或将再次入局
- 每日经济新闻|养一头猪赚近1700元,这位董事长却悲观起来:猪肉可能跌到5块钱
- 新华每日电讯|安排“假学员”参训,谁骗走了失业人员培训补贴?
- 全视角|每日新赏:赵少昂《晚秋》
- 巧克力奶球|每日一笑,烦恼跑掉
- 月饼|每日精选|点外卖用红包后只付1分钱被打;支付码3米外可被盗刷
- 每日经济新闻|长荣股份:实控人李莉解除质押2058万股,其一致行动人名轩投资解除质押1004万股
- 新华每日电讯|图纸可有可无,建材“丰俭由人”,施工全靠“土师傅”……农村自建房“我的地盘我做主”|电讯特稿
- 服贸会昨日举办会议论坛43场 每日闭馆后全面消毒
- 新华每日电讯|安排“假学员”参训,谁骗走了失业人员培训补贴