6
比如我想实现一个登录接口
-
写好 api 文件, 生成 api 代码
service sys-api { @handler UserLogin post /api/sys/user/login (loginReq) returns (loginResp) }
-
写好 ddl 文件, 生成模型代码
SysUserModel interface { Insert(data SysUser) (sql.Result, error) FindOne(id int64) (*SysUser, error) FindOneByName(name string) (*SysUser, error) Update(data SysUser) error Delete(id int64) error }
代码都是自动生成的, go-zero 库中有不错的测试覆盖, 所以这里单元测试暂时不关心。
但这时是实践 BDD 的好机会, 此时登录功能是不通的, 需要改 logic 里面的代码。 修改后登录功能工作的 api, route,model 全工作, BDD 测试变绿。
请问有啥好的实践吗?目录结构, 代码生成这块有考虑吗?使用哪些库可以较好的配合 go zero 工作?