最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Gin框架之參數(shù)綁定的實(shí)現(xiàn)

 更新時(shí)間:2021年12月08日 11:37:22   作者:wind-zhou  
為了能夠更方便的獲取請(qǐng)求相關(guān)參數(shù),提高開發(fā)效率,本文主要介紹了Gin框架之參數(shù)綁定的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

為了能夠更方便的獲取請(qǐng)求相關(guān)參數(shù),提高開發(fā)效率,我們可以基于請(qǐng)求的Content-Type識(shí)別請(qǐng)求數(shù)據(jù)類型并利用反射機(jī)制自動(dòng)提取請(qǐng)求中QueryString、form表單JSON、XML等參數(shù)到結(jié)構(gòu)體中。 下面的示例代碼演示了.ShouldBind()強(qiáng)大的功能,它能夠基于請(qǐng)求自動(dòng)提取JSON、form表單QueryString類型的數(shù)據(jù),并把值綁定到指定的結(jié)構(gòu)體對(duì)象。

以下示例分別是對(duì)QueryString、form、json進(jìn)行參數(shù)綁定。

注意:

1、結(jié)構(gòu)體內(nèi)部屬性名大寫

2、加地址符:

代碼:

package main

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

type User struct {
	Username string `json:"user" form:"userform"`
	Password string `json:"pwd" form:"pwdform"`
}

func main() {
	r := gin.Default()
	var u User
	//queryString數(shù)據(jù)綁定
	r.GET("/user", func(c *gin.Context) {
		//參數(shù)綁定
		err := c.ShouldBind(&u)
		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,
				"pwd":  u.Password,
			})
		}
	})
	//form表單數(shù)據(jù)綁定
	r.POST("/form", func(c *gin.Context) {
		//參數(shù)綁定
		err := c.ShouldBind(&u)
		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,
				"pwd":  u.Password,
			})
		}
	})
	//form表單數(shù)據(jù)綁定
	r.POST("/json", func(c *gin.Context) {
		//參數(shù)綁定
		err := c.ShouldBind(&u)
		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,
				"pwd":  u.Password,
			})
		}
	})
	r.Run(":9090")
}

調(diào)試:

運(yùn)行結(jié)果使用postman模擬,分別是:

對(duì)querystring進(jìn)行參數(shù)綁定結(jié)果:

對(duì)form表單進(jìn)行參數(shù)綁定結(jié)果:

對(duì)json進(jìn)行參數(shù)綁定結(jié)果:

到此這篇關(guān)于Gin框架之參數(shù)綁定的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Gin框架 參數(shù)綁定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Golang標(biāo)準(zhǔn)庫(kù)syscall詳解(什么是系統(tǒng)調(diào)用)

    Golang標(biāo)準(zhǔn)庫(kù)syscall詳解(什么是系統(tǒng)調(diào)用)

    最近在研究go語(yǔ)言,發(fā)現(xiàn)go語(yǔ)言系統(tǒng)調(diào)用源碼只有調(diào)用函數(shù)的定義,今天通過本文給大家分享Golang標(biāo)準(zhǔn)庫(kù)syscall詳解及什么是系統(tǒng)調(diào)用,感興趣的朋友一起看看吧
    2021-05-05
  • Go語(yǔ)言中獲取IP地址的方法小結(jié)

    Go語(yǔ)言中獲取IP地址的方法小結(jié)

    這篇文章主要為大家詳細(xì)介紹了Go語(yǔ)言中獲取IP地址的常用方法,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Go語(yǔ)言學(xué)習(xí)筆記之反射用法詳解

    Go語(yǔ)言學(xué)習(xí)筆記之反射用法詳解

    這篇文章主要介紹了Go語(yǔ)言學(xué)習(xí)筆記之反射用法,詳細(xì)分析了Go語(yǔ)言中反射的概念、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • 一文幫你搞懂Go面試中常問的channel問題

    一文幫你搞懂Go面試中常問的channel問題

    channel是Golang面試時(shí)經(jīng)常會(huì)問到的問題,所以這篇文章為大家整理了channel??嫉囊恍﹩栴}以及回答,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • Go依賴注入工具wire的具體使用

    Go依賴注入工具wire的具體使用

    本文主要介紹了Go依賴注入工具wire的具體使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • Go語(yǔ)言實(shí)現(xiàn)二進(jìn)制與十進(jìn)制互轉(zhuǎn)的示例代碼

    Go語(yǔ)言實(shí)現(xiàn)二進(jìn)制與十進(jìn)制互轉(zhuǎn)的示例代碼

    這篇文章主要和大家詳細(xì)介紹了Go語(yǔ)言中實(shí)現(xiàn)二進(jìn)制與十進(jìn)制互相轉(zhuǎn)換的示例代碼,文中的代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-05-05
  • Go中init()執(zhí)行順序詳解

    Go中init()執(zhí)行順序詳解

    go允許定義多個(gè)init(),多個(gè)init()會(huì)涉及到執(zhí)行先后的問題,本文將詳細(xì)講解Go中init()執(zhí)行順序,感興趣的朋友一起看看吧
    2022-09-09
  • Go語(yǔ)言使用singleflight解決緩存擊穿

    Go語(yǔ)言使用singleflight解決緩存擊穿

    在構(gòu)建高性能的服務(wù)時(shí),緩存是優(yōu)化數(shù)據(jù)庫(kù)壓力和提高響應(yīng)速度的關(guān)鍵技術(shù),但使用緩存也會(huì)帶來一些問題,其中就包括緩存擊穿,下面我們就來看看Go語(yǔ)言中如何使用singleflight解決緩存擊穿問題吧
    2024-03-03
  • Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹

    Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹

    這篇文章主要介紹了Go 實(shí)現(xiàn)熱重啟的詳細(xì)介紹,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • go?time.Sleep睡眠指定時(shí)間實(shí)例詳解(小時(shí)級(jí)到納秒級(jí))

    go?time.Sleep睡眠指定時(shí)間實(shí)例詳解(小時(shí)級(jí)到納秒級(jí))

    golang的休眠可以使用time包中的sleep,下面這篇文章主要給大家介紹了關(guān)于go?time.Sleep睡眠指定時(shí)間(小時(shí)級(jí)到納秒級(jí))的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11

最新評(píng)論

平舆县| 新巴尔虎右旗| 吉首市| 太原市| 娄底市| 黄大仙区| 通州区| 鄯善县| 绵竹市| 昆明市| 兴城市| 巴彦淖尔市| 高雄县| 固阳县| 囊谦县| 云南省| 汉源县| 津南区| 昭通市| 玛曲县| 文昌市| 尉犁县| 若尔盖县| 蓬溪县| 麻城市| 湘潭市| 库伦旗| 福贡县| 方城县| 仁布县| 郓城县| 保康县| 嘉义县| 肃北| 苏尼特左旗| 海门市| 秦安县| 北宁市| 抚州市| 疏附县| 偏关县|