2016-08-02 3 views
0

Revel for Go를 사용하여 API 끝점을 만들려고합니다.Revel with mgo.v2 - 컬렉션의 모든 데이터를 json으로 반환하는 방법은 무엇입니까?

내 모델/models.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은 다음과 같습니다 -이처럼 내 conf의/경로를 구성한

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

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

return c.RenderJson(b)} 

-

- 내가 코드를 실행하면
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

감사합니다. 나는 코드를 가지고 노는 중이었고 정확하게 이것을 나중에 썼고 지금 당신의 대답을 보았습니다! 고맙습니다! –

관련 문제