beego 程序执行的时候一直提示 panic: 'GetSysStatus' method doesn't exist 报错?

我是在 github 上 clone 的别人的源码,走了一遍流程 mod init mod tidy build . 然后运行生成的那个可执行文件,一点问题都没有。但是我做了点改动:

// 路由设置

beego.Router("/", &controllers.MainController{}, "*:Index")

beego.Router("/login", &controllers.MainController{}, "*:Login")

beego.Router("/logout", &controllers.MainController{}, "*:Logout")

beego.Router("/profile", &controllers.MainController{}, "*:Profile")

beego.Router("/gettime", &controllers.MainController{}, "*:GetTime")

//下面这行是我加的

beego.Router("/getsysstatus", &controllers.MainController{}, "*:GetSysStatus")

beego.Router("/help", &controllers.HelpController{}, "*:Index")

beego.AutoRouter(&controllers.TaskController{})

beego.AutoRouter(&controllers.GroupController{})

beego.BConfig.WebConfig.Session.SessionOn = true

beego.Run()

我在 app/controllers/main.go 文件里面也加了对应的方法:

// 获取系统时间

func (this *MainController) GetTime() {

out := make(map[string]interface{})

out["time"] = time.Now().UnixNano() / int64(time.Millisecond)

this.jsonResult(out)

}

// 获取系统当前状态,这个方法是我加的

func (this *MainController) GetSysStatus() {

out := make(map[string]interface{})

out["time"] = 1

this.jsonResult(out)

}

然而执行新生成的可执行文件一直报错:

panic: 'GetSysStatus' method doesn't exist in the controller MainController

goroutine 1 [running]:

github.com/astaxie/beego.(*ControllerRegister).addWithMethodParams(0xabc15c, {0xac38af, 0x4418b1}, {0xbb85e8, 0xc000238a20}, {0x0, 0x0, 0x0}, {0xc0000fbf50, 0x1, ...})

/home/yhm/go/pkg/mod/github.com/astaxie/beego@v1.12.3/router.go:183 +0x788

github.com/astaxie/beego.(*ControllerRegister).Add(...)

/home/yhm/go/pkg/mod/github.com/astaxie/beego@v1.12.3/router.go:163

github.com/astaxie/beego.Router(...)

/home/yhm/go/pkg/mod/github.com/astaxie/beego@v1.12.3/app.go:258

main.main()

/home/yhm/web/webcron/main.go:39 +0x3dd

请大神帮忙看看,这是为啥啊?

奇怪了,我把我加的那个路由注释了,然后把 app/controllers/main.go 文件里面的代码都删了,重新build,然后都能运行,貌似不使用 app/controllers/main.go 这个文件一样?


回答:

解决了,这种从 github 拉下来的代码 import 都是远程的代码,我把 import 相关的都改成本地文件了,现在没问题了。

以上是 beego 程序执行的时候一直提示 panic: 'GetSysStatus' method doesn't exist 报错? 的全部内容, 来源链接: utcz.com/p/944775.html

回到顶部