【问题标题】:Revel Framework - Go Lang - Not able to find controllerRevel 框架 - Go Lang - 找不到控制器
【发布时间】:2016-08-17 05:25:55
【问题描述】:

我正在为 golang 使用 Revel 框架。我的控制器文件夹中有一个子目录,如下所示

controllers
   new
     app2.go
   app1.go

app1.go 的内容

package controllers

import (
    "github.com/revel/revel"
)

type APP1 struct {
    *revel.Controller
}
func (c APP1) Show() revel.Result {
}

app2.go 的内容

import (
    "github.com/revel/revel"
)

type APP2 struct {
    *revel.Controller
}
func (c APP2) Show() revel.Result {
}

我的路由文件是这样的

GET     /v1/show              APP1.show
GET     /v2/show              APP2.show

当我调用 /v2/show 时,它给了我错误,无法找到控制器 APP2,而 v1/show 工作正常。谁能告诉我如何解决它。

【问题讨论】:

    标签: go revel


    【解决方案1】:

    像这样GET /new/v2/show为APP2.show配置路由

    【讨论】:

      【解决方案2】:

      app2.go顶部添加以下内容

      package controllers
      

      我使用类似的示例进行了相同的尝试,它对我有用。我建议不要使用全大写的控制器名称;使用App2 而不是APP2

      【讨论】:

        【解决方案3】:

        我有点困惑地发现从路由器引用的方法需要 Pascal Cased 才能被识别(例如上面的func (c APP2) DescribeService() revel.Result)。这对于经验丰富的 Revel 或 Go 开发人员来说可能很明显,但对我来说真的不明显。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多