I try create a simple REST service on Go&Beego.
I can not understand the logic of Beego.
All examples have information on how to retrieve just one item while I need to get all items.
In case of API.
Controller:
package controllers
import (
"api/models"
"github.com/astaxie/beego"
)
type UserController struct {
beego.Controller
}
func (u *UserController) GetAll() {
users := models.GetAllUsers()
u.Data["json"] = users
u.ServeJSON()
}
Model:
package models
import (
"github.com/astaxie/beego/orm"
)
var (
UserList map[int]*User
)
func init() {
orm.RegisterModel(new(User))
UserList = make(map[int]*User)
u := User{1, "Chandler", "Bing", "[email protected]"}
UserList[1] = &u
}
type User struct {
Id int `form:"id"`
First_name string `form:"first_name"`
Last_name string `form:"last_name"`
Email string `form:"email"`
}
func GetAllUsers() map[int]*User {
return UserList
}
That works! But, how can I get data from database?
Database connections are ok (MySQL)
You should use
QueryTable
as mentioned hereIn your case your
GetAllUsers
should look like this but I didn't tested it.