【发布时间】:2020-04-23 05:21:11
【问题描述】:
我是 GO 语言的新手。 尝试通过构建真正的 Web 应用程序来学习 GO。 我正在使用 revel 框架。
这是我的资源路线:
GET /resource/:resource Resource.ReadAll
GET /resource/:resource/:id Resource.Read
POST /resource/:resource Resource.Create
PUT /resource/:resource/:id Resource.Update
DELETE /resource/:resource/:id Resource.Delete
例如:
GET /resource/users 呼叫Resource.ReadAll("users")
这是我的资源控制器(现在只是一个虚拟操作):
type Resource struct {
*revel.Controller
}
type User struct {
Id int
Username string
Password string
}
type Users struct {}
func (u Users) All() string {
return "All"
}
func (c Resource) ReadAll(resource string) revel.Result {
fmt.Printf("GET %s", resource)
model := reflect.New(resource)
fmt.Println(model.All())
return nil
}
我正在尝试通过将 资源字符串 转换为对象以调用 All 函数来获取用户结构的实例。
和错误:
不能使用资源(类型字符串)作为反射类型。在参数中键入 reflect.New:字符串没有实现 reflect.Type(缺少 Align 方法)
我是 GO 新手,请不要评判我 :)
【问题讨论】:
-
这是你想要做的吗? stackoverflow.com/questions/23030884/…
标签: rest go controller resources revel