mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 21:10:55 +00:00
64 lines
1.4 KiB
Go
64 lines
1.4 KiB
Go
// 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
|
|
|
|
package controllers
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/astaxie/beego"
|
|
"github.com/astaxie/beego/example/beeapi/models"
|
|
)
|
|
|
|
type ObjectController struct {
|
|
beego.Controller
|
|
}
|
|
|
|
func (o *ObjectController) Post() {
|
|
var ob models.Object
|
|
json.Unmarshal(o.Ctx.Input.RequestBody, &ob)
|
|
objectid := models.AddOne(ob)
|
|
o.Data["json"] = map[string]string{"ObjectId": objectid}
|
|
o.ServeJson()
|
|
}
|
|
|
|
func (o *ObjectController) Get() {
|
|
objectId := o.Ctx.Input.Params[":objectId"]
|
|
if objectId != "" {
|
|
ob, err := models.GetOne(objectId)
|
|
if err != nil {
|
|
o.Data["json"] = err
|
|
} else {
|
|
o.Data["json"] = ob
|
|
}
|
|
} else {
|
|
obs := models.GetAll()
|
|
o.Data["json"] = obs
|
|
}
|
|
o.ServeJson()
|
|
}
|
|
|
|
func (o *ObjectController) Put() {
|
|
objectId := o.Ctx.Input.Params[":objectId"]
|
|
var ob models.Object
|
|
json.Unmarshal(o.Ctx.Input.RequestBody, &ob)
|
|
|
|
err := models.Update(objectId, ob.Score)
|
|
if err != nil {
|
|
o.Data["json"] = err
|
|
} else {
|
|
o.Data["json"] = "update success!"
|
|
}
|
|
o.ServeJson()
|
|
}
|
|
|
|
func (o *ObjectController) Delete() {
|
|
objectId := o.Ctx.Input.Params[":objectId"]
|
|
models.Delete(objectId)
|
|
o.Data["json"] = "delete success!"
|
|
o.ServeJson()
|
|
}
|