1、get请求获得query中内容
package main
import ( "fmt" "github.com/gin-gonic/gin")
func main() { router := gin.Default() router.GET("/get/query", func(c *gin.Context) { //a有值就获得,没有不处理 if a, ok := c.GetQuery("a"); ok { fmt.Printf("a的值%v", a) } //取得b的值 b := c.Query("b") fmt.Println() fmt.Printf("b的值%v", b) //d如果有值就取得d的值,没有就给默认值 d := c.DefaultQuery("d", "d") fmt.Println() fmt.Printf("d的值%v", d) fmt.Println() e := c.QueryArray("e") fmt.Printf("e的值%v", e) fmt.Println() f := c.QueryMap("f") fmt.Printf("f的值%v", f) fmt.Println()
}) router.Run(":8080")}
控制台输出a的值1b的值2d的值3
我们访问http://127.0.0.1:8080/get/query?b=2
控制台输出,d取得了默认值b的值2d的值d
我们访问,其中
http://127.0.0.1:8080/get/query?b=2&e=1&e=2&f[a]=1&f[b]=2
b的值2d的值de的值[1 2]f的值map[a:1 b:2]
2、post获得数据
package main
import ( "fmt" "github.com/gin-gonic/gin")
func main() { router := gin.Default() router.GET("/get/query", func(c *gin.Context) { //a有值就获得,没有不处理 if a, ok := c.GetQuery("a"); ok { fmt.Printf("a的值%v", a) } //取得b的值 b := c.Query("b") fmt.Println() fmt.Printf("b的值%v", b) //d如果有值就取得d的值,没有就给默认值 d := c.DefaultQuery("d", "d") fmt.Println() fmt.Printf("d的值%v", d) fmt.Println() e := c.QueryArray("e") fmt.Printf("e的值%v", e) fmt.Println() f := c.QueryMap("f") fmt.Printf("f的值%v", f) fmt.Println()
})
router.POST("/post/query", func(c *gin.Context) { a := c.PostForm("a") fmt.Printf("a的值%v", a) fmt.Println() b := c.DefaultPostForm("b", "b") fmt.Printf("b的值%v", b) fmt.Println()
d := c.PostFormArray("d") fmt.Printf("d的值%v", d) fmt.Println() e := c.PostFormMap("e") fmt.Printf("e的值%v", e) fmt.Println() }) router.Run(":8080")}
postman示例
curl模拟请求
curl --location --request POST 'http://127.0.0.1:8080/post/query' \--header 'Content-Type: multipart/form-data; boundary=--------------------------491193908873322781498272' \--form 'a=1' \--form 'b=' \--form 'd=1' \--form 'd=2' \--form 'e[a]=1' \--form 'e[b]=2'
控制台输出
a的值1b的值d的值[1 2]e的值map[a:1 b:2]
3、通过uri获得参数
package main
import ( "fmt" "github.com/gin-gonic/gin")
func main() { router := gin.Default() router.GET("/get/query", func(c *gin.Context) { //a有值就获得,没有不处理 if a, ok := c.GetQuery("a"); ok { fmt.Printf("a的值%v", a) } //取得b的值 b := c.Query("b") fmt.Println() fmt.Printf("b的值%v", b) //d如果有值就取得d的值,没有就给默认值 d := c.DefaultQuery("d", "d") fmt.Println() fmt.Printf("d的值%v", d) fmt.Println() e := c.QueryArray("e") fmt.Printf("e的值%v", e) fmt.Println() f := c.QueryMap("f") fmt.Printf("f的值%v", f) fmt.Println()
})
router.POST("/post/query", func(c *gin.Context) { a := c.PostForm("a") fmt.Printf("a的值%v", a) fmt.Println() b := c.DefaultPostForm("b", "b") fmt.Printf("b的值%v", b) fmt.Println()
d := c.PostFormArray("d") fmt.Printf("d的值%v", d) fmt.Println() e := c.PostFormMap("e") fmt.Printf("e的值%v", e) fmt.Println() }) router.GET("/get/uri/:a", func(c *gin.Context) { a := c.Param("a") fmt.Printf("a的值%v", a) fmt.Println() }) router.Run(":8080")}
访问地址http://127.0.0.1:8080/get/uri/1
控制台输出
a的值1
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有