【问题标题】:Beego: Routing issues with modulesBeego:模块的路由问题
【发布时间】:2020-08-08 16:48:52
【问题描述】:

如果我使用模块,而 GOPATH 旧方法完美运行,路由对我来说根本不起作用。 我是golang的新手,如果我做错了什么,请纠正我。
我一直在尝试使用 bee 创建 API 项目,但我发现所有新项目都必须使用 go 1.11 中发布的模块方法。 我使用bee api api-name 命令来搭建新项目。它出现在 GOPATH 中。我将它从 GOPATH 路径移到另一个目录。然后我做了go mod init mod,然后我能够运行bee run,并且API成功启动但路由不起作用。我做了一些比较,发现commentsRouter 文件没有生成。 我做错了什么?

我尝试做set GO111MODULE=on 然后go get -u github.com/beego/bee 但这也没有帮助。 现在我什至不能运行bee API,我明白了 0004 Failed to build the application: main.go:4:2: package api-name/routers is not in GOROOT (c:\go\src\api-name\routers) 发生什么事?我很迷惑。官方 go 文档说我应该更喜欢新项目的模块方法,但我在文档中找不到任何关于如何在模块系统中搭建和使用 bee 的内容。

【问题讨论】:

    标签: go beego


    【解决方案1】:

    只是因为缺少文件 cmetsRou​​ter_controllers.go。不知道beego在$gopath之外运行app时怎么不生成文件routers/cmetsRou​​ter_controllers.go。 那么我们就只能访问localhost/swagger了。任何其他路径(或路由)都返回 404。

    解决方案:

    不是一个好方法,但有效:

    1. 复制 $your_project 的源代码到 $gopath/src
    2. cd $gopath/src/$your_project > bee run(仅用于生成文件 cmetsRou​​ter_controllers.go)> 停止运行应用程序
    3. 复制文件 $gopath/src/$your_project/routers/cmetsRou​​ter_controllers.go 到 $your_project/routers
    4. cd $your_project > 蜜蜂运行

    祝你好运

    【讨论】:

      【解决方案2】:

      最新的 Beego Bee 好像支持在 GOPATH 之外生成路由。

      检查一下。它现在对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多