为了账号安全,请及时绑定邮箱和手机立即绑定

Beego:模块的路由问题

Beego:模块的路由问题

Go
白猪掌柜的 2022-06-01 11:36:07
如果我使用模块,而 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 的内容。
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

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

解决方案:

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

  1. 将 $your_project 的源代码复制到 $gopath/src

  2. cd $gopath/src/$your_project > bee run (只用于生成文件commentsRouter_controllers.go) > stop running app

  3. 复制文件 $gopath/src/$your_project/routers/commentsRouter_controllers.go 到 $your_project/routers

  4. cd $your_project > 蜜蜂运行

祝你好运


查看完整回答
反对 回复 2022-06-01
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

看起来最新的 Beego Bee 支持在 GOPATH 之外生成路由。

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


查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 201 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信