手记

Beego框架之请求数据处理


我们经常需要获取用户传递的数据,包括 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的原创作品,如需转载,请注明出处,否则将追究法律责任


0人推荐
随时随地看视频
慕课网APP