原文链接:https://blog.csdn.net/keyunq/article/details/82226280

一直都是用结构体接收参数,假如事先不清楚参数名,或者参数是不固定的,就要动态获取。

ctx *gin.Context

form方式的请求:

    ctx.Request.ParseForm()
for k, v := range ctx.Request.PostForm {
fmt.Printf("k:%v\n", k)
fmt.Printf("v:%v\n", v)
} json方式的请求: data, _ := ioutil.ReadAll(ctx.Request.Body)
fmt.Printf("ctx.Request.body: %v", string(data))
1
2
然后从data里解析出来 代码段记录 logging.Debugf("c.Request.Method: %v", ctx.Request.Method)
logging.Debugf("c.Request.ContentType: %v", ctx.ContentType()) logging.Debugf("c.Request.Body: %v", ctx.Request.Body)
ctx.Request.ParseForm()
logging.Debugf("c.Request.Form: %v", ctx.Request.PostForm) for k, v := range ctx.Request.PostForm {
logging.Debugf("k:%v\n", k)
logging.Debugf("v:%v\n", v)
} logging.Debugf("c.Request.ContentLength: %v", ctx.Request.ContentLength)
data, _ := ioutil.ReadAll(ctx.Request.Body) logging.Debugf("c.Request.GetBody: %v", string(data)) //第二种:
package main import (
"fmt"
"net/http" "github.com/gin-gonic/gin"
) func main() {
router := gin.Default()
router.POST("/events", events)
router.Run(":5000")
} func events(c *gin.Context) {
buf := make([]byte, 1024)
n, _ := c.Request.Body.Read(buf)
fmt.Println(string(buf[0:n]))
resp := map[string]string{"hello": "world"}
c.JSON(http.StatusOK, resp)
/*post_gwid := c.PostForm("name")
fmt.Println(post_gwid)*/

gin获取全部参数的更多相关文章

  1. golangWEB框架gin学习之获取get参数

    原文地址:http://www.niu12.com/article/40package main import ( "fmt" "github.com/gin-gonic ...

  2. vue-router2.0 组件之间传参及获取动态参数

    <li v-for=" el in hotLins" > <router-link :to="{path:'details',query: {id:el ...

  3. asp.net 正则获取url参数

    现在有一种场景:Url是数据库里面的,里面带有很多参数,如何获取具体参数的值呢? var uri = new Uri(pageUrl); var queryString = uri.Query; va ...

  4. 【转】javascript浏览器参数的操作,js获取浏览器参数

    原文地址:http://www.haorooms.com/post/js_url_canshu html5修改浏览器地址:http://www.cnblogs.com/JiangXiaoTian/ar ...

  5. 学习SpringMVC——如何获取请求参数

    @RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...

  6. 用JS获取地址栏参数的方法

    采用正则表达式获取地址栏参数: function GetQueryString(name) {      var reg = new RegExp("(^|&)"+ nam ...

  7. js 获取url参数的值

    //获取url参数函数function GetQueryString(name){    var reg = new RegExp("(^|&)"+ name +" ...

  8. js对特殊字符转义、时间格式化、获取URL参数

    /*特殊字符转义*/ function replace_html(str) { var str = str.toString().replace(/&/g, "&" ...

  9. 用JS获取地址栏参数的方法(超级简单)

    方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) {      var reg = new RegExp("( ...

随机推荐

  1. impdp不是内部或外部命令(Linux)

    1.在windows环境变量下,配置path系统变量. 右击“我的电脑”—>“高级”—>“环境变量”—>“系统变量”—>path:然后添加";oracle导入导出命令 ...

  2. sqlplus 导出一张表数据

    内网只让用sql developer 这软件搓的不行,数据加载到51行就黑了,没法法用sqlplus. 打开cmd, sqlplus user/passwd@ip:port/库名set colsep ...

  3. vue问题五:element ui组件的开始时间-结束时间验证

    <el-date-picker v-model="seach.before" type="date" placeholder="开始时间&quo ...

  4. python之selectors模块

    python之selectors模块 selectors模块是在python3.4版本中引进的,它封装了IO多路复用中的select和epoll,能够更快,更方便的实现多并发效果. 官方文档见:htt ...

  5. iOS——plist的创建,数据写入与读取

    iOS中plist的创建,数据写入与读取 Documents:应用将数据存储在Documents中,但基于NSuserDefaults的首选项设置除外Library:基于NSUserDefaults的 ...

  6. springMVC配置文件学习

    spring配置文件分为dao层,web层,service层,三层配置 这三层配置中, dao层对应数据库的配置:进行数据库相关和model实体类的配置 web层对应controller包中配置:设置 ...

  7. python基础----条件判断与循环

    一.python数据类型 1.整数(包括整数.负数) 2.浮点数(小数) 3.字符串(需要用单引号‘’或双引号“”括起来) 注:当字符串中含有单引号时,用双引号括起来(now="let's ...

  8. Flutter酷炫的路由动画效果

    现在Flutter的路由效果已经非常不错了,能满足大部分App的需求,但是谁不希望自己的App更酷更炫那,下面介绍几个酷炫的路由动画. 其实路由动画的原理很简单,就是重写并继承PageRouterBu ...

  9. Python3 Selenium自动化web测试 ==> 第十节 WebDriver高级应用 -- xpath语法

    学习目的: xpath定位是针对常规定位方法中,最有效的定位方式. 场景: 页面元素的定位. 正式步骤: step1:常规属性 示例UI 示例UI相关HTML代码 相关代码示例: #通过id定位 dr ...

  10. markdown居中对齐,左对齐,右对齐

    Markdown语法本身没有居中,但Markdown中支持基本的HTMl语法,可以使用HTML语法. 居中: <center>居中</center> 左对齐: <p al ...