码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2019-04-10 23:42:29      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:task   一个   route   mob   返回值   注意   put   fun   gets   

直接上常用的例子吧:

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数据
}

 


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

标签:task   一个   route   mob   返回值   注意   put   fun   gets   

原文地址:https://www.cnblogs.com/liufei1983/p/10686845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!