获取前端传来的参数

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

- ?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\n", 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\n", 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\n", 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()
}

[go]beego获取参数/返回参数的更多相关文章

  1. beego获取用户请求参数的方法

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

  2. loadrunner获取接口返回参数(包括body,headers等)

    Action() { web_set_max_html_param_len("); // 默认最大长度为256 web_reg_save_param("ResponseBody&q ...

  3. 百度统计api 关于搜索引擎返回参数问题

    当 post 的参数: 返回参数为: 很显然没有搜索引擎的相关名称返回,无法分辨相关引擎的数据量: 改:去掉 gran 参数 正常: 关于百度统计文档有很多模糊不清的地方,可以发邮件给官方了解,一般处 ...

  4. 对接第三方支付接口-获取http中的返回参数

    这几天对接第三方支付接口,在回调通知里获取返回参数,有一家返回的json格式,请求参数可以从标准输入流中获取. //1.解析参数 , 读取请求内容 BufferedReader br; String ...

  5. SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改

    有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...

  6. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  7. Js获取指定Url参数

    在 C#.PHP.JSP 中,都有直接获取 Url 中指定参数的方法,但 Javascript 却没有这样的现在方法,得自己写一个.在 Web 的开发过程中,获取 Url 中的参数是十分常用的操作,所 ...

  8. jqure 获取地址栏的参数

    从一个页面跳转到另外一个页面传参,我们用jqure得到参数需要两部分: 处理浏览器地址栏参数的方法: function GetQueryString(name) { var reg = new Reg ...

  9. Asp获取网址相关参数大全

      Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...

随机推荐

  1. 转载--Java中的PO、DO、DTO、 VO的概念

    Java中的PO.DO.DTO. VO的概念 写的很清晰,学习了.

  2. sql 批量触发器

    SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO ALTER TRIGGER [dbo].[tr_insert_update_delete_sscode] O ...

  3. 迭代器遍历【List、Set、Map】

    迭代器遍历[List.Set.Map] example package boom.collection; import java.util.ArrayList; import java.util.Ha ...

  4. Python 3 中字符串和 bytes 的区别

    在Python中字符串和unicode真是傻傻分不清楚,在没搞懂两个区别时,你会发现程序报的错怎么改都是再报错,让你烦躁. 学习Python的时候,又重温了这部分内容,写了这个学习笔记. Python ...

  5. 并发编程:生产消费模型、死锁与Rlock、线程、守护线程、信号量、锁

    一.生产者消费者模型1 二.生产者消费者模型2 三.守护线程 四.常用方法 五.启动线程的另一种方式 六.锁 七.锁死 八.死锁 九.单个锁能不能死锁 十.信号旗 一.生产者消费者模型1 import ...

  6. ubuntu配置jdk(收藏)

    ubuntu下JDK配置本质上和win是一样的: 1.去官网下载JDK7,找jdk-7u21-linux-i586.tar.gz并下载:http://www.oracle.com/technetwor ...

  7. Struts2标签:s:password 修改时密码为空的问题

    s:password 有个属性showPassword默认为false,想要密码显示,设置标签属性 showPassword="true" 即可.

  8. ZAP笔记

    1.HTTP自动变成HTTS问题. 在使用OWASP ZAP 2.8.0的时候,如果设置了dynamic ssl certificates,并把正式导入到浏览器的时候 如果ZAP当做代理访问HTTP的 ...

  9. 使用canvas画布生成二维码

    1. 基本用法 <canvas>标签只有两个属性-----width和height CSS: <canvas class="qrcode" width=" ...

  10. sklearn PCA的使用

    import numpy as np from sklearn.decomposition import PCA # 训练数据 train_data = np.array([[1, 2, 3], [4 ...