我正在尝试使用Revel for Go构建API端点。
我的模特/模特.go看起来像这样 -
type Category struct {
Name string `bson:"name"`
Slug string `bson:"slug"`}
func GetCategories(s *mgo.Session) *Category {
var results []Category
Collection(s).Find(nil).All(&results)
return results}
我的控制器/ book.go看起来像这样 -
type Category struct {
*revel.Controller
revelbasic.MongoController}
func (c Category) Categories() revel.Result {
b := models.GetCategories(c.MongoSession)
return c.RenderJson(b)}
我已经配置了这样的conf / routes -
GET /categories Book.Categories
当我运行代码时,我收到此错误 -
cannot use results (type []Category) as type *Category in return argument
我知道我对数据库查询做错了。 请帮忙!
答案 0 :(得分:0)
代码中的错误是因为函数GetCategories
的返回值声明与您实际返回的内容之间的类型不匹配。要修复,请更改返回类型以返回结果片段:
func GetCategories(s *mgo.Session) []Category {
var results []Category
Collection(s).Find(nil).All(&results)
return results
}