golang web框架 beego 学习 (三) beego获取参数

A:     获取URL中的参数

router

func init() { beego.Router('/task/?:id/?:name', &controllers.TaskController{}) }

controller

func (c *TaskController) Get() {
    id1 := c.GetString(':id')
    name1 := c.GetString(':name')
    id2 := c.Ctx.Input.Param(':id')
    name2 := c.Ctx.Input.Param(':name')
    c.Ctx.WriteString('id1:' + id1 + ';name1' + name1 + ';id2:' + id2 + ';name2:' + name2) }

URL:

B 获取Request Body里的内容

第一步:在app.conf中加上 copyrequestbody = true
 
第二步:导入json包      import (
'encoding/json'
)下面是请求:

下面是controller的定义:

package controllers import ( 'encoding/json' 'github.com/astaxie/beego' ) type JsonController struct { beego.Controller } type User struct { Username string `json:'user_name'` // 注意Username必须首字母大写 Mobile string `json:'mobile'` // 并且写明与json字段的映射关系,否则Unmarshal函数不好用
} 

func (this *JsonController) Post() {   var ob User //这是一个model,struct类型   body := this.Ctx.Input.RequestBody //这是获取到request的body 的json二进制数据  json.Unmarshal(body, &ob) //解析二进制json,把结果放进ob中

 this.Data['json'] = map[string]interface{}{'result': false, 'msg': 'ok'}   // 设置返回值this.ServeJSON()     // 返回json数据}
(0)

相关推荐