使用go-swagger生成API文档,如何识别项目所有目录的注解?
解决go-swagger无法识别internal目录注解的问题
以下是几个可行的解决方法:
直接指定要解析的目录
回到项目根目录执行swag init命令,通过--dir参数明确包含需要扫描的所有目录,比如:swag init --dir ./cmd/main_api,./internal这样swag会同时解析cmd/main_api下的入口文件,以及internal目录下的models、handlers里的注解,无需依赖自动解析。
检查模块导入与注解格式
- 确认项目的go mod模块路径正确,internal目录下的文件导入路径符合Go的模块规则,避免解析时因导入错误触发panic。
- 检查internal目录里的Swagger注解格式是否合规,比如
// @Summary、// @Param这类标签有没有拼写错误,注解内容是否符合swag的要求,格式错误也可能导致解析失败或panic。
升级swag到最新版本
旧版本的swag可能存在解析internal目录的bug,执行以下命令升级到最新版:go install github.com/swaggo/swag/cmd/swag@latest
内容的提问来源于stack exchange,提问作者Eugene Rudukh
相关产品推荐
相关产品推荐

