Beego/example/beeapi/controllers/default.go

64 lines
1.5 KiB
Go
Raw Normal View History

2014-04-12 05:18:18 +00:00
// Beego (http://beego.me/)
// @description beego is an open-source, high-performance web framework for the Go programming language.
// @link http://github.com/astaxie/beego for the canonical source repository
// @license http://github.com/astaxie/beego/blob/master/LICENSE
// @authors astaxie
2013-07-09 05:59:47 +00:00
package controllers
import (
"encoding/json"
2014-04-12 05:18:18 +00:00
2013-07-09 05:59:47 +00:00
"github.com/astaxie/beego"
"github.com/astaxie/beego/example/beeapi/models"
)
type ObjectController struct {
2013-07-09 05:59:47 +00:00
beego.Controller
}
func (this *ObjectController) Post() {
2013-07-09 05:59:47 +00:00
var ob models.Object
2013-09-10 07:08:32 +00:00
json.Unmarshal(this.Ctx.Input.RequestBody, &ob)
2013-07-09 05:59:47 +00:00
objectid := models.AddOne(ob)
2013-08-19 02:26:10 +00:00
this.Data["json"] = map[string]string{"ObjectId": objectid}
2013-07-09 05:59:47 +00:00
this.ServeJson()
}
func (this *ObjectController) Get() {
2013-12-05 02:29:04 +00:00
objectId := this.Ctx.Input.Params[":objectId"]
2013-07-09 05:59:47 +00:00
if objectId != "" {
ob, err := models.GetOne(objectId)
if err != nil {
this.Data["json"] = err
} else {
this.Data["json"] = ob
}
} else {
obs := models.GetAll()
this.Data["json"] = obs
}
this.ServeJson()
}
func (this *ObjectController) Put() {
2013-12-05 02:29:04 +00:00
objectId := this.Ctx.Input.Params[":objectId"]
2013-07-09 05:59:47 +00:00
var ob models.Object
2013-09-10 07:08:32 +00:00
json.Unmarshal(this.Ctx.Input.RequestBody, &ob)
2013-07-09 05:59:47 +00:00
err := models.Update(objectId, ob.Score)
if err != nil {
this.Data["json"] = err
} else {
this.Data["json"] = "update success!"
}
this.ServeJson()
}
func (this *ObjectController) Delete() {
2013-12-05 02:29:04 +00:00
objectId := this.Ctx.Input.Params[":objectId"]
2013-07-09 05:59:47 +00:00
models.Delete(objectId)
this.Data["json"] = "delete success!"
this.ServeJson()
}