首页 > 其他分享 >Gin 获取请求参数

Gin 获取请求参数

时间:2023-03-16 11:46:20浏览次数:31  
标签:请求 ctx 获取 JSON 参数 gin Gin name

1、获取URL?后的参数(不区分请求方式)

// 获取请求url ? 后的参数(url:8080/add?name=kelvin)
func GetUrlParam(ctx *gin.Context) {
    name := ctx.Query("name")
    defaultName := ctx.DefaultQuery("name", "defaultName...")
    ctx.JSON(http.StatusOK, gin.H{
        "name":        name,
        "defaultName": defaultName,
    })
}

2、获取form参数(post方式)

// 获取请求表单的参数
func GetFormParam(ctx *gin.Context) {
    formName := ctx.PostForm("name")
    defaultPostFormName := ctx.DefaultPostForm("name", "default name form ~~~")
    ctx.JSON(http.StatusOK, gin.H{
        "formName":            formName,
        "defaultPostFormName": defaultPostFormName,
    })
}

3、获取json参数

// 获取请求Json参数体
func GetJson(ctx *gin.Context) {
    data, err := ctx.GetRawData()
    if err != nil {
        ctx.JSON(http.StatusInternalServerError, gin.H{
            "msg": "获取json数据异常",
        })
    }
    var m map[string]interface{}
    // 反序列化
    _ = json.Unmarshal(data, &m)
    ctx.JSON(http.StatusOK, gin.H{
        "json": &m,
    })
}

 

 4、获取路径参数

// 获取请求url中的路径参数(url:8080/add/:name/:age)
func GetUrlPathParam(ctx *gin.Context) {
    name := ctx.Param("name")
    age := ctx.Param("age")
    ctx.JSON(http.StatusOK, gin.H{
        "name": name,
        "age":  age,
    })
}

 

 未完待续~~~

 

标签:请求,ctx,获取,JSON,参数,gin,Gin,name
From: https://www.cnblogs.com/sun-10387834/p/17221723.html

相关文章

  • 容器化docker部署nginx代理的go-web应用
    通常我们的web应用程序部署的时候不会直接暴露,通过nginx反向代理,一是隐藏真实后端,二是通过nginx的epoll网络IO多路复用,获取高性能的网络访问。今天我们分享个通过nginx代......
  • nginx 配置 https 时找不到 pem 证书问题
    问题:在使用nginxdocker时的挂载卷为-v/root/ssl/letsencrypt/live/xxxxxxx:/etc/nginx/cert然后再nginx的default.conf中的证书位置为/etc/nginx/cert/fullchain.......
  • 10、Master高可用nginx+keepalived布署
    1、前言#这里因为演示,用master2、master3主机做为高可用布署2、keepalived2.1、安装yuminstallgccgcc-c++makeautomakeautoconflibtoolpcrepcre-develzl......
  • CreateThread与beginthreadex区别
    CreateThread与beginthreadex区别两个函数都是用于创建线程,第一个是WindowsAPI函数,在WinBase.h头文件中,第二个不是API函数,在process.h头文件中参数说明:1.线程安全性:表示是......
  • C语言编程>第五周 ④ 编写一个程序,使用函数统计一串字符中的小写字母的个数, 该函数参数
    例题:编写一个程序,使用函数统计一串字符中的小写字母的个数,该函数参数为一个字符数组,返回值为小写字母的个数,在主函数中从键盘接受一串字符,并调用统计函数求出小写字母的个数......
  • JMeter——模拟多用户同时发送请求(三)
    第四章JMeter模拟多用户同时发送请求1、一个简单的压力测试实战现有一个http请求接口http://localhost:8080/goods/to_list,要使用Jmeter对其进行压测,测试步骤如下:a.......
  • Node向后端发送请求响应请求
    //导入模块(请求是http)//Node.js//理解:Node.js和jdk差不多是一样的道理,是基于coogle的v8引擎//在控制台进行打印node运行方式:node文件名称nodeHello.jsconsthttp......
  • Node向Mysql数据发送请求响应请求
    //导入mysql依赖(想要先安装依赖,在终端输入:npminstallmysql)varmysql=require('mysql');//配置mysql的数据信息varmy=mysql.createConnection({//mysql连接......
  • Vue 代理服务器___Vue 跨域通过Axios 的ajax方式的get请求获取数据
    Vue代理服务器___Vue跨域通过Axios的ajax方式的get请求获取数据1、说明1.1:配置2台本地服务器说明:node_modules为vue脚手架        package.json为静态数据......
  • HTTP 请求库:httpx
     httpx,它是一个HTTP请求库。说到发送HTTP请求,我们首先想到的应该是requests,但requests是一个同步库,目前只能同步发请求。而httpx不仅可以同步发请求,还可以异步......