登录
首页 >  Golang >  Go问答

在另一个文件中如何引用 swaggo 的类型定义?

来源:stackoverflow

时间:2024-02-26 08:54:26 387浏览 收藏

golang学习网今天将给大家带来《在另一个文件中如何引用 swaggo 的类型定义?》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我正在使用 swaggo 基于 godoc 语法生成 api 文档。

源文件夹和文件

|-post
|--controller.go
|--response.go

对于这个定义:

controller.go

package post

...

// index godoc
// @summary index post
// @success 200 {array} []*response
// @router /v1/posts [get]
func index(ctx *gin.context) {
  ...
}

response 是在同一包的另一个文件中定义的。

response.go

package post

// response  is post response body
type response struct {
    id   int64  `json:"id"`
    name string `json:"name"`

    createdat string `json:"created_at"`
    updatedat string `json:"updated_at"`
}

但是当运行 swag init 生成 swagger 文档时,它说:

2021/01/29 09:39:56 Generate swagger docs....
2021/01/29 09:39:56 Generate general API Info, search dir:./
2021/01/29 09:39:56 ParseComment error in file application/post/controller.go :cannot find type definition:

当我将 response 结构移动到 controller.go 时,它起作用了。

如何使用 godoc 或 swaggo 导入它?


解决方案


我也遇到了这个问题,但我用以下命令解决了它:

swag init --parseDependency --parseInternal

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>