• [go]beego获取参数/返回参数


    获取前端传来的参数

    获取数据并转为对应的类型

    - ?id=111&id=122
    c.GetInt("id")
    int,111
    
    - ?id=111&id=122
    c.GetBool("id")
    bool,false
    
    
    - ?id=111&id=122
    c.GetString("id")
    string,"111"
    
    - ?id=111&id=122
    c.GetStrings("id")
    []string,[]string{"111", "122"}
    
    
    - ?id=111&id=122
    c.Input().Get("id")
    string,"111"
    

    解析表单

    • c.ParseForm 直接解析到 struct
    type user struct {
        Id    int         `form:"-"`
        Name  interface{} `form:"name"`
        Age   int         `form:"age"`
        Email string
    }
    
    func (c *MainController) Post() {
        u := user{}
        c.ParseForm(&u)
    
        fmt.Printf("%T,%#v
    ", u, u)
        c.Ctx.WriteString("hello")
    }
    

    解析Request Body

    • 获取 Request Body 里的内容
    type user struct {
        Id    int         `json:"-"`
        Name  interface{} `json:"name"`
        Age   int         `json:"age"`
        Email string
    }
    
    func (c *MainController) Post() {
        var u user
        json.Unmarshal(c.Ctx.Input.RequestBody, &u)
        fmt.Printf("%T,%#v
    ", u, u)
        c.Ctx.WriteString("hello")
    }
    

    上传文件

    <form enctype="multipart/form-data" method="post" action="http://localhost:8080/">
        <input type="file" name="uploadname" />
        <input type="submit">
    </form>
    
    func (c *MainController) Post() {
        f, h, err := c.GetFile("uploadname")
        if err != nil {
            log.Fatal("getfile err ", err)
        }
        fmt.Printf("%T,%#v
    ", f, f)
        defer f.Close()
        c.SaveToFile("uploadname", "static/upload/" + h.Filename) // 保存位置在 static/upload, 没有文件夹要先创建
        c.Ctx.WriteString("post")
    }
    

    后端返回数据到前端

    • 返回字符串
    c.Ctx.WriteString("<h1>hello world</h1>")
    
    • 返回模板html
    c.Data["name"] = "mm"
    c.Data["age"] = 22
    c.TplName = "user.html"
    
    <body>
        <h1>user</h1>
        {{.name}}
        {{.age}}
    </body>
    
    • 返回json
    type user struct {
        Name  string    `json:"name"`
        Age   int       `json:"age"`
        Birth time.Time `json:"birth"`
    }
    
    func (u *UserController) Get() {
        var p1 = &user{
            Name:  "mm",
            Age:   22,
            Birth: time.Now(),
        }
    
        u.Data["json"] = p1
        u.ServeJSON()
    }
    
  • 相关阅读:
    .net百度编辑器的使用
    phpstudy远程连接mysql
    HDU-2389 Rain on your Parade
    HDU-2768 Cat vs. Dog
    HDU-1151 Air Raid
    HDU-1507 Uncle Tom's Inherited Land*
    HDU-1528/1962 Card Game Cheater
    HDU-3360 National Treasures
    HDU-2413 Against Mammoths
    HDU-1045 Fire Net
  • 原文地址:https://www.cnblogs.com/iiiiiher/p/11812101.html
Copyright © 2020-2023  润新知