IT源码网

beego的mvc的controller

luoye 2022年04月19日 编程语言 173 0

1.控制器函数

    1).在beego中提供了各种请求类型:get、post、head、put、delete
    向外输出:
    c.Ctx.WriteString("成功:")
在这里插入图片描述
    2).可以提前终止请求
    this.StopRun()
在这里插入图片描述


2.请求参数处理

    1).获取get请求的参数
    获取动态URL变量:c.Ctx.Input.Param(":name")
    获取请求参数:c.Input().Get("password")
在这里插入图片描述
在这里插入图片描述
    2).获取post请求表单数据(form-data)
在这里插入图片描述
    3).获取post请求json数据
        (1).添加配置copyrequestbody = true
在这里插入图片描述
        (2).获取post请求json数据(application/json)

type user struct { 
	Username  string 
	Passwd   string   
} 
func (c *UserController) PostUser() { 
	println("执行post") 
	body :=user{} 
	var err error 
	if err = json.Unmarshal(c.Ctx.Input.RequestBody, &body); err == nil { 
		c.Data["json"] = body 
	} else { 
		c.Data["json"] = err.Error() 
	} 
	c.ServeJSON() 
} 

在这里插入图片描述
        (3).上传文件(multipart/form-data)

func (c *UserController) PostUser() { 
	f, h, err := c.GetFile("file") 
	if err != nil { 
		log.Fatal("err ", err) 
	} 
	defer f.Close() 
	// 保存位置在 static/upload, 没有文件夹要先创建 
	c.SaveToFile("file", "static/upload/" + h.Filename) 
	c.Ctx.WriteString("上传成功") 
} 

在这里插入图片描述


3.json格式数据输出

    1).获取get请求的参数

type User struct { 
	Username  string 
	Passwd   string 
} 
func (c *UserController) PostUser() { 
	user:=User{ 
		 "大旺", 
		 "123456", 
	} 
	c.Data["json"] = &user 
	c.ServeJSON() 
} 

在这里插入图片描述


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

beego的mvc的参数配置、路由配置