用postman模拟请求

获取参数 - 图1

get 参数

1、不带默认值

  1. id := c.Query("id")

在这里我们获得了地址http://127.0.0.1:8089/post?id=1中的id参数

2、get参数默认值

  1. id := c.DefaultQuery("id", "0")

如果查询不到,则给一个默认值

post 参数

用postman模拟请求

获取参数 - 图2

1、不带默认值

  1. name := c.PostForm("name")

在这里我们获得了form表单中的post参数

2、带默认值

  1. name := c.DefaultPostForm("name", "hanyun")

3、获取 []byte

  1. data, _ := ioutil.ReadAll(ctx.Request.Body)

或者

  1. package main
  2. import (
  3. "fmt"
  4. "net/http"
  5. "github.com/gin-gonic/gin"
  6. )
  7. func main() {
  8. router := gin.Default()
  9. router.POST("/events", events)
  10. router.Run(":5000")
  11. }
  12. func events(c *gin.Context) {
  13. buf := make([]byte, 1024)
  14. n, _ := c.Request.Body.Read(buf)
  15. fmt.Println(string(buf[0:n]))
  16. resp := map[string]string{"hello": "world"}
  17. c.JSON(http.StatusOK, resp)
  18. /*post_gwid := c.PostForm("name")
  19. fmt.Println(post_gwid)*/
  20. }

数组参数

GetQueryArray

我们的请求地址http://127.0.0.1:8089/array?idList=1&idList=2&idList=3,用postman模拟测试

获取参数 - 图3

  1. r.GET("/array", func(c *gin.Context) {
  2. if idList, err := c.GetQueryArray("idList"); err {
  3. fmt.Println(err)
  4. fmt.Println(idList[0])
  5. c.JSON(http.StatusOK, gin.H{"dataList": idList})
  6. } else {
  7. c.JSON(http.StatusOK, gin.H{"dataList": []string{}})
  8. }
  9. })

QueryArray接收数组参数

  1. r.GET("/QueryArray", func(c *gin.Context) {
  2. c.JSON(http.StatusOK, gin.H{"dataList": c.QueryArray("idList")})
  3. })

请求地址http://127.0.0.1:8089/QueryArray?idList=1&idList=2&idList=3我们得到的结果和GetQueryArray的数据一样

QueryMap接收参数

  1. r.POST("/QueryMap", func(c *gin.Context) {
  2. c.JSON(http.StatusOK, gin.H{"dataList": c.QueryMap("idList")})
  3. })

请求地址http://127.0.0.1:8089/QueryMap?idList[name]=hanyun&idList[password]=21212121,用postman模拟

获取参数 - 图4

PostFormMap接收参数

  1. r.POST("/PostFormMap", func(c *gin.Context) {
  2. c.JSON(http.StatusOK, gin.H{"dataList": c.PostFormMap("idList")})
  3. })

请求地址http://127.0.0.1:8089/PostFormMap,用postman模拟测试

获取参数 - 图5

9、PostFormArray接收参数

  1. r.POST("/PostFormArray", func(c *gin.Context) {
  2. c.JSON(http.StatusOK, gin.H{"dataList": c.PostFormArray("idList")})
  3. })

请求地址http://127.0.0.1:8089/PostFormArray,用postman模拟测试

获取参数 - 图6

Param获得参数

请求地址http://127.0.0.1:8089/param/hanyun,用postman模拟请求

获取参数 - 图7