朵小喵儿|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年迎来考验,美国企业或将再次入局,国产手机
- 每日壹笑|骨传导耳机推荐,运动蓝牙耳机哪个好
- 朵小喵儿|国产手机,2021年迎来考验,美国企业或将再次入局
- 每日经济新闻|养一头猪赚近1700元,这位董事长却悲观起来:猪肉可能跌到5块钱
- 新华每日电讯|安排“假学员”参训,谁骗走了失业人员培训补贴?
- 每日谈资|看清真实环境,果真是高危职业,爱情公寓:张伟咖喱酱拍落水戏
- 每日体育播报|有谁注意雷佳音说了啥?感情好坏一目了然,岳云鹏连线邓伦卡顿
- 全视角|每日新赏:赵少昂《晚秋》
- 巧克力奶球|每日一笑,烦恼跑掉