gin从入门到放弃

gin参数获取

2019-10-16  本文已影响0人  寒云暮雨

gin如何获得前端的童鞋的参数呢

/*
@Author :   寒云
@Email  :   1355081829@qq.com
@Time : 2019/10/15 11:51
*/
package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {
    r := gin.Default()

    r.POST("/post", func(c *gin.Context) {
        id := c.Query("id")
        name := c.PostForm("name")

        c.JSON(http.StatusOK, gin.H{"id": id, "name": name})
    })

    _ = r.Run(":8089")
}

用postman模拟请求


image.png

在这个例子中我们有get参数和post参数
1、get参数

        id := c.Query("id")

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

        name := c.PostForm("name")

在这里我们获得了form表单中的post参数
3、get参数默认值

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

4、post参数默认值

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

5、GetQueryArray接收数组参数

    r.GET("/array", func(c *gin.Context) {
        if idList, err := c.GetQueryArray("idList"); err {
            fmt.Println(err)
            fmt.Println(idList[0])
            c.JSON(http.StatusOK, gin.H{"dataList": idList})
        } else {
            c.JSON(http.StatusOK, gin.H{"dataList": []string{}})
        }
    })

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

image.png

6、QueryArray接收数组参数

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

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


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

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

image.png
8、PostFormMap接收参数
    r.POST("/PostFormMap", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{"dataList": c.PostFormMap("idList")})
    })

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

image.png

9、PostFormArray接收参数

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

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

image.png
10、Param获得参数
    r.GET("/param/:name", func(c *gin.Context) {
        name := c.Param("name")
        c.JSON(http.StatusOK, gin.H{"dataList": name})
    })

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

image.png
上一篇下一篇

猜你喜欢

热点阅读