分析类型定义“response”时出错:找不到类型定义:time.Duration(swaggo)

8wtpewkr  于 2023-10-14  发布在  Go
关注(0)|答案(1)|浏览(142)

在github.com/swaggogo中使用www.example.com - librires作为swagger文档。要生成试图在终端中执行命令的文档-swag init -g /cmd/svr/main.go -o ./cmd/svr/docs
执行上述命令时,出现以下错误

2023/07/17 11:35:52 Error parsing type definition 'response': cannot find type definition:      time.Duration
   2023/07/17 11:35:52 ParseComment error in file Desktop/work/api/api.go :cannot find type    definition: time.Duration
model
type response struct {
    Message        string        `json:"message,omitempty"`
    Data           interface{}   `json:"data,omitempty"`
    TimeTaken      time.Duration `json:"timeTaken"`
} // @name response
// @Description get data from file
// @ID Get Data
// @Accept */*
// @Produce json
// @Success 200 {object} response
// @Router /getv1 [get]
func (a API) getData()  {
//get logic code 
}

swaggo库不支持时间。持续时间类型?

yhuiod9q

yhuiod9q1#

Swaggo中,ParseDependencyParseInternal是与swag init命令一起使用的标志,用于控制Swaggo如何为Go代码生成文档。

  • 当您在swag init中使用ParseDependency标志时,Swaggo将为您的项目所依赖的外部(第三方)包生成Swagger文档。如果您的代码使用外部包,并且您希望在Swagger文档中包含这些包的文档,那么这将非常有用。
  • 另一方面,ParseInternal标志指示Swaggo仅为项目的内部包生成Swagger文档。它排除了任何外部依赖性。当您只想专注于记录项目的内部API,而不想包括第三方依赖项的文档时,请使用此标志。
  • 摘要:*

如果结构体是在依赖包中定义的,则使用--parseDependency
如果结构体是在主项目中定义的,则使用--parseInternal
如果你想同时包含你的内部类型/包和依赖项的类型/包,你可以同时使用这两个标志:
swag init --parseDependency --parseInternal

相关问题