前几天简单上手了一下 go-zero
框架,去官网看了下文档,然后网上的博客,还有 B 站的视频,还有助手的项目,有了一些了解
这东西其实就是一个全自动的 web 和 RPC 框架,你只需要关注于设计,还有你的业务代码就好了,其他的 go-zero 都能帮你搞定
这东西你首先需要定义私有格式的 api 文件,这东西能很好的定义你的服务,即使直接交给前端,前端都能看懂
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| type ( LoginReq { Username string `json:"username"` Password string `json:"password"` }
LoginReply { Id int64 `json:"id"` Name string `json:"name"` Gender string `json:"gender"` AccessToken string `json:"accessToken"` AccessExpire int64 `json:"accessExpire"` RefreshAfter int64 `json:"refreshAfter"` } )
service user-api { @handler login post /user/login (LoginReq) returns (LoginReply) }
|
感觉就跟 proto 很像,然后就很清晰明了
之后只需要一行命令,就能自动把整个路由哇,控制器哇,什么的方法函数都创建出来
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| $ tree greet greet ├── etc │ └── greet-api.yaml ├── greet.api ├── greet.go └── internal ├── config │ └── config.go ├── handler │ ├── greethandler.go │ └── routes.go ├── logic │ └── greetlogic.go ├── svc │ └── servicecontext.go └── types └── types.go
|
然后你就去填写里面空白的方法函数就行了
然后这东西也可以搞微服务的,使用 RPC 交流,但是我暂时没看,先把单体服务搞熟悉吧
然后就是这东西目前没有一个好的系统的教学,官方文档有些抽象,然后官方教学视频条理也不够清晰
我目前暂时就是逛官方文档吧,把里面的 demo 都跑了
然后就是在看助手的项目,那个社团招新系统,就这样吧