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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值