导入包的GOSwagger实现

时间:2018-07-10 19:07:52

标签: go swagger swagger-2.0

我创建了一个项目结构,

main.gofoo/bar.go

在main.go中,导入了foo软件包并用作foo.functionName()。现在,我需要在bar.go中编写swagger文档。当我这样做时,以以下错误消息结尾,

unable to determine package for /PATH_TO_PROJECT/foo/bar.go

2 个答案:

答案 0 :(得分:0)

确保在foo/bar.go中声明的包为package foo。然后,您要在main.go文件中访问的函数应以大写字母开头。即

foo/bar.go

package foo

// PrintBar with extra txt
func PrintBar(txt string) string {
    return "bar with txt " + txt
}

然后在main.go

package main

import (
    "fmt"

    "github.com/username/project/foo"
)

func main() {
    fmt.Println("in main.go")
    fmt.Println(foo.PrintBar("from main.go"))
}

答案 1 :(得分:0)

尝试通过在swagger命令前面添加DEBUG=1为swagger启用调试模式。这样可以打印出您所考虑的路径。

如果您查看source code where this error is thrown,则只会在文件不在$GOPATH中时看到此错误。再次检查程序是否位于$GOPATH/src下。