[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\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获取参数/返回参数的更多相关文章
- beego获取用户请求参数的方法
我们经常需要获取用户传递的数据,包括 Get.POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据: GetString(key string) string Get ...
- loadrunner获取接口返回参数(包括body,headers等)
Action() { web_set_max_html_param_len("); // 默认最大长度为256 web_reg_save_param("ResponseBody&q ...
- 百度统计api 关于搜索引擎返回参数问题
当 post 的参数: 返回参数为: 很显然没有搜索引擎的相关名称返回,无法分辨相关引擎的数据量: 改:去掉 gran 参数 正常: 关于百度统计文档有很多模糊不清的地方,可以发邮件给官方了解,一般处 ...
- 对接第三方支付接口-获取http中的返回参数
这几天对接第三方支付接口,在回调通知里获取返回参数,有一家返回的json格式,请求参数可以从标准输入流中获取. //1.解析参数 , 读取请求内容 BufferedReader br; String ...
- SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改
有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...
- Javascript 获取链接(url)参数的方法
有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...
- Js获取指定Url参数
在 C#.PHP.JSP 中,都有直接获取 Url 中指定参数的方法,但 Javascript 却没有这样的现在方法,得自己写一个.在 Web 的开发过程中,获取 Url 中的参数是十分常用的操作,所 ...
- jqure 获取地址栏的参数
从一个页面跳转到另外一个页面传参,我们用jqure得到参数需要两部分: 处理浏览器地址栏参数的方法: function GetQueryString(name) { var reg = new Reg ...
- Asp获取网址相关参数大全
Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...
随机推荐
- js对象的所有方法
Object构造方法 Object.assign() 将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象. Object.create() 用指定的原型对象和属性创建一个新对象. Object ...
- 采用kubeadm部署工具,部署kubernetes1.16.3
安装kubenetes有5种部署工具,分别是kubeadm.kops.KRIB.Kubespray.本实验采用的是kubeadm部署工具.如有想了解其他部署工具,请点击这里 环境说明 角色/主机名 系 ...
- pytest的使用
一.python安装 1.windows(server): 双击python-3.6.7-amd64.exe执行安装流程,使用默认安装方式即可. 安装完成后查看是否安装成功: C:\Users\Adm ...
- “美登杯”上海市高校大学生程序设计 C. 小花梨判连通 (并查集+map)
Problem C C . 小 花梨 判连通 时间限制:2000ms 空间限制:512MB Description 小花梨给出
- elk快速入门-filebeat
filebeatFilebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读),并且转发这些信息到e ...
- 【NOIP2017】小凯的疑惑
原题: 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的价 ...
- slices = [dicom.read_file(path + '/' + s) for s in os.listdir(path)] FileNotFoundError: [WinError 3] 系统找不到指定的路径。
最近跟着kaggle做一个医疗项目,加载路径总是出错. 将下面箭头处: 改为: path = os.path.join(data_dir, patient)问题迎刃而解 上面的路径拼接方法可能是ipy ...
- js中toFixed()函数出现小数点后的多位数的原因
不演示示例了. 强调一点就是:toFixed()返回的str类型,所以如果想写成百分之多少的情况下,建议直接在分子上乘100后,在除以总和,再使用toFixed()函数保留几位小数.不然会出现如下:7 ...
- jquery file选择器 语法
jquery file选择器 语法 作用::image 选择器选取类型为 file 的 <input> 元素.大理石平台检定规程 语法:$(":file") jquer ...
- Confluence 6.15 使用附件宏
希望添加附件宏到一个页面中: 从编辑工具栏中,选择 插入(Insert) > 其他宏(Other Macros) 找到并且选择需要的宏. 可用使用自动完成加快这个过程:输入 { 然后开始输入 ...