继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Beego框架之请求数据处理

holdtom
关注TA
已关注
手记 1846
粉丝 240
获赞 991


我们经常需要获取用户传递的数据,包括 Get、POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据:

Beego框架之请求数据处理

通过this.Getstring("获取用户输入")获取用户输入

再通过this.Ctx.WriteString("输出用户输入的内容")输出用户输入的内容

Beego框架之请求数据处理

通过Input.Get("")获取用户输入

Beego框架之请求数据处理

package controllers

import (

    "github.com/astaxie/beego"

)

type TestOnceController struct {

    beego.Controller

}

/*type User struct {

    Username string

    Password string

}

*/

func (c *TestOnceController) Get()  {

    id := c.GetString("id")

    c.Ctx.WriteString("<html>" + id + "<br/>")

    name := c.Input().Get("name")

    c.Ctx.WriteString(name + "</html>")

}

执行结果

Beego框架之请求数据处理

直接解析到struct

Beego框架之请求数据处理

controller testInputController

router beego.Router("/test_input", &controllers.TestInputController{}, "get:Get;post:Post")

package controllers

import (

    "github.com/astaxie/beego"

)

type TestInputController struct {

    beego.Controller

}

type User struct{

    Username string

    Password string

}

func (c *TestInputController) Get(){

    //id := c.GetString("id")

    //c.Ctx.WriteString("<html>" + id + "<br/>")

    //name := c.Input().Get("name")

    //c.Ctx.WriteString(name + "</html>")

    c.Ctx.WriteString(`<html><form action="http://127.0.0.1:8080/test_input" method="post"> 

                            <input type="text" name="Username"/>

                            <input type="password" name="Password"/>

                            <input type="submit" value="提交"/>

                         </form></html>`)

}

func (c *TestInputController) Post(){

    u := User{}

    if err:=c.ParseForm(&u) ; err != nil{

        //process error

    }

    c.Ctx.WriteString("Username:" + u.Username + " Password:" + u.Password)

}

©著作权归作者所有:来自51CTO博客作者PowerMichael的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP