golangWEB框架gin学习之获取get参数
原文地址:http://www.niu12.com/article/40
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"net/http"
)
func getRouteParams(c *gin.Context) {
// 获取路由参数为name的值
// http://127.0.0.1:8888/route/card 输出 card
name := c.Param("name")
c.String(http.StatusOK, name)
}
func getRoutePregParams(c *gin.Context) {
// 获取路由参数为name的值 和job的值 job为无限长,忽略/,并且包含前一个/
// http://127.0.0.1:8888/route/card/
// 输出 card /
// http://127.0.0.1:8888/route/card/name
// 输出 card /name
// http://127.0.0.1:8888/route/card/name/hello
// 输出 card /name/hello
name := c.Param("name")
job := c.Param("job")
c.String(http.StatusOK, name + " " + job)
}
/**
获取路由参数
*/
func getParams(c *gin.Context) {
// http://127.0.0.1:8888/?name=card
// 输出 card card 程序员
// http://127.0.0.1:8888/?name=card&job=coder
// 输出 card card coder
// 当有多个参数相同时,取第一个value
// http://127.0.0.1:8888/?name=card&job=coder&name=周起
// 输出 card card coder
// http://127.0.0.1:8888/?name=周起&job=coder&name=card
// 输出 周起 周起 coder
// c.Query() 等同于 c.Request.URL.Query().Get()
name := c.Query("name")
name2 := c.Request.URL.Query().Get("name")
// 设置默认参数,如果job参数不存在,默认为程序员
name3 := c.DefaultQuery("job", "程序员")
c.String(http.StatusOK, name + " " + name2 + " " + name3)
}
func getRepeatParams(c *gin.Context) {
name := c.QueryArray("name")
// http://127.0.0.1:8888/repeat?name=周起&name=card
// 输出 name:[周起 card], type:[]string
fmt.Printf("name:%v, type:%T", name, name)
// http://127.0.0.1:8888/repeat?job[a]=周起&job[b]=card
// 输出 job:map[a:周起 b:card], type:map[string]string
job := c.QueryMap("job")
fmt.Printf("job:%v, type:%T", job, job)
}
func main() {
router := gin.Default()
// 获取路由参数
router.GET("/route/:name", getRouteParams)
// 获取正则路由参数
router.GET("/route/:name/*job", getRoutePregParams)
// 获取queryString
router.GET("/", getParams)
// 获取同名参数
router.GET("/repeat", getRepeatParams)
router.Run(":8888")
}
golangWEB框架gin学习之获取get参数的更多相关文章
- golangWEB框架gin学习之获取post参数
原文地址:http://www.niu12.com/article/41 package main import ( "fmt" "github.com/gin-goni ...
- golangWEB框架gin学习之路由群组
原文地址:http://www.niu12.com/article/42 package main import ( "github.com/gin-gonic/gin" &quo ...
- JavaScript学习之获取URL参数
最近看了几道面试题,其中有一道就是关于写一个方法来获取浏览器地址栏URL查询部分的字段内容.虽然之前看过相关的东西,但感觉有点模糊,所以就又全面的学习一遍,谨以此文记之! 准备知识 在JavaScri ...
- Mybatis 学习---${ }与#{ }获取输入参数的区别、Foreach的用法
一.Mybatis中用#{}和${}获取输入参数的区别 1.“#{}“和“${}”都可以从接口输入中的map对象或者pojo对象中获取输入的参数值.例如 <mapper namespace=&q ...
- django学习-5.获取url参数和name的作用
1.前言 假如我们要打开这两个博客园地址:[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html].[https://www.cnblogs ...
- Java获取函数参数名称
原理 编译之后的class文件默认是不带有参数名称信息的,使用 IDE 时,反编译jar包得到的源代码函数参数名称是 arg0,arg1......这种形式,这是因为编译 jar 包的时候没有把符号表 ...
- go的gin框架从请求中获取参数的方法
前言: go语言的gin框架go里面比较好的一个web框架, github的start数超过了18000.可见此框架的可信度 如何获取请求中的参数 假如有这么一个请求: POST /post/te ...
- 学习SpringMVC——如何获取请求参数
@RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView) ...
- springMvc源码学习之:spirngMVC获取请求参数的方法2
@RequestParam,你一定见过:@PathVariable,你肯定也知道:@QueryParam,你怎么会不晓得?!还有你熟悉的他 (@CookieValue)!她(@ModelAndView ...
随机推荐
- 02-更改窗口的根控制器
Demo示例程序源代码
源代码下载链接:02-更改窗口的根控制器.zip18.0 KB // MJAppDelegate.h // // MJAppDelegate.h // 02-更改窗口的根控制器 // // ...
- bzoj 2115 路径xor和最大值
首先我们可以将这张图转化为一棵树,其中可能有好多环,肯定是从1走到N,其中可能经过好多环, 因为我们不走N在的一支,最后还是会走回来,因为a xor b xor b=a,所以相当于没走,就是走了个环, ...
- JS形参与实参问题
JavaScript的参数传递也都是采用值传递的方式进行传值. (1) 通过实参调用函数的时候,传入函数里的是实参的副本而不是实参,因此在函数里面修改参数值并不会对实参造成影响. 例如:将全局 ...
- Django-views,用户认证,login_requierd()
分别是认证,登入,注销的功能 authenticated():验证是否登录 user = authenticate(username='someone',password='somepassword' ...
- Python3 安装xlrd、xlwt、xlutils
Python版本3.4,装xlrd和xlwt和xlutils的时间:2017-09-07. 安装xlrd.xlwt.xlutils很简单,直接[pip install xlrd].[pip insta ...
- DECODE 与CASE WHEN 的比较以及用法
1.DECODE 只有Oracle 才有,其它数据库不支持; 2.CASE WHEN的用法, Oracle.SQL Server. MySQL 都支持; 3.DECODE 只能用做相等判断,但是可以配 ...
- 非旋转Treap——普通平衡树
扔板跑…… #include<bits/stdc++.h> #define N 100010 #define mp make_pair using namespace std; typed ...
- springmvc对于前台date类型注意点
springmvc,可以自动将数据注入到: “name”值相同,便注入,比如String Integer 还有我们自定义的bean,比如User. 但是date类型的数据,如果前台传的是用" ...
- Javascript基于对象三大特征 -- 冒充对象
Javascript基于对象三大特征 基本概述 JavaScript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance ) ...
- JWT是什么?
# 转载请留言联系 什么是JWT? Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的 ...