创建v2/article控制器失败
执行go run .\main.go make apicontroller v2/article
时报目录不存在的错误,主要是由于文档中,一直用的v1,目录是存在的,如果创建v2下的controller,因为v2不存在,仅仅在pkg.file.Put
函数中使用os.WriteFile
创建控制器文件肯定是会报错的。
建议在os.WriteFile
代码前增加判断文件夹是否存在的逻辑,不存在先创建文件夹,这样的话就能保证控制器文件能够生成成功.
// 获取文件的目录部分
dir := filepath.Dir(to)
// 如果目录不存在则尝试创建目录
_, err := os.Stat(dir)
if os.IsNotExist(err) {
// 尝试创建目录
if err := os.MkdirAll(dir, 0644); err != nil {
return err
}
}
但是其实还有不足的地方,因为项目代码中v1中还定义了一个base_apicontroller的文件,且通过命令行生成的控制器文件还引用了其中的struct,所以实际项目开发中,还是要根据自己的情况,来具体处理
推荐文章: