我们有一个这样的API:
// @Summary 获取所有的医院信息
// @Schemes
// @Description
// @Tags Hospital
// @Accept json
// @Produce json
// @Success 200 {array} models.Hospital
// @Router /hospital [get]
func GetHospitals(ctx *gin.Context) {
var items []models.Hospital
database.DB.Preload("Region").Find(&items)
ctx.JSON(http.StatusOK, items)
}
对应的models定义如下:
type Hospital struct {
gorm.Model
Name string `json:"name"`
Doctors string `json:"doctors"`
Region Region `json:"region"`
RegionID uint `json:"region_id"`
}
type Region struct {
gorm.Model
// 城市名称
Name string `json:"name"`
// 省份
PID uint `gorm:"column:pid" json:"pid"`
}
在运行swag init的时候报错:
2023/11/20 12:25:28 Error parsing type definition 'models.Hospital': : cannot find type definition: gorm.Model
2023/11/20 12:25:28 ParseComment error in file /Users/zhulin/workspace/pfapa_api/controllers/hospital.go :models.Hospital: : cannot find type definition: gorm.Model
解决方案
在命令行加上 --parseDependency --parseInternal
swag init --parseDependency --parseInternal