gf icon indicating copy to clipboard operation
gf copied to clipboard

feat(cmd/gf): improve and enhance gen ctrl

Open oldme-git opened this issue 6 months ago • 2 comments

介绍

有时候某些项目没有达到要使用大仓模式的程度,使用单仓便可以完成业务。 但是gf gen ctrl 只能支持 module/version 这种目录,譬如 user/v1,像api/app/user/v1api/admin/admin/v1 这种接口便无能为力。

PR改进了生成模式,现在使其可以更灵活的生成控制器,包括多级目录生成。

例子

api 下定义了 appadmin 两个模块,其中 app 下又定义了 /user/v1/user/user_ext/v1,最后生成如红框所示:

image

这是一个复杂的例子,用来检测代码的健壮性。 在真实的项目中,应该类似 api/app/user/v1api/app/user_ext/v1

其他

  • 规范了一些测试用例,譬如本来的测试文件放在 /testdata/genctrl/testdata/genctrl-merge 中,现在更改为 /testdata/genctrl/default/testdata/genctrl/merge
  • 替换掉废弃的方法 gfile.Remove

增进来源:Issue和官网评论

oldme-git avatar Jun 24 '25 18:06 oldme-git

求改一下gen pb 目前只生成controller到一个文件

fainc avatar Jun 25 '25 01:06 fainc

有机会合并吗,挺需要这个功能的

LLiuHuan avatar Nov 27 '25 18:11 LLiuHuan