2016-08-02 6 views
0

Revel for Goを使用してAPIエンドポイントを構築しようとしています。Revel with mgo.v2 - コレクションからすべてのデータをjsonとして返す方法は?

マイモデル/ models.goは次のようになります -

- 私はこのように私のconf /ルートを設定した

type Category struct { 
*revel.Controller 
revelbasic.MongoController} 

func (c Category) Categories() revel.Result { 
b := models.GetCategories(c.MongoSession) 

return c.RenderJson(b)} 

-

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は次のようになります

GET /categories Book.Categories 

私は、コードを実行すると、私はこのエラーを取得する -

cannot use results (type []Category) as type *Category in return argument

私はデータベースクエリに何か間違っていると思います。 助けてください!

答えて

0

コード内のエラーは、関数GetCategoriesの戻り値の宣言と実際に返されているものの間の型の不一致のためです。修正するには、結果のスライスを返すように戻り値の型を変更します。

func GetCategories(s *mgo.Session) []Category { 
    var results []Category 
    Collection(s).Find(nil).All(&results) 
    return results 
} 
+0

ありがとう!私はコードで遊んでいて、これを後で正確に書いて、今あなたの答えを見ました!ありがとうございました! –

関連する問題