欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

以下示例分別是對QueryString、form、json進行參數綁定。

注意:

1、結構體內部屬性名大寫

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數據綁定
	r.GET("/user", func(c *gin.Context) {
		//參數綁定
		err := c.ShouldBind(&u)
		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,
				"pwd":  u.Password,
			})
		}
	})
	//form表單數據綁定
	r.POST("/form", func(c *gin.Context) {
		//參數綁定
		err := c.ShouldBind(&u)
		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,
				"pwd":  u.Password,
			})
		}
	})
	//form表單數據綁定
	r.POST("/json", func(c *gin.Context) {
		//參數綁定
		err := c.ShouldBind(&u)
		if err == nil {
			c.JSON(http.StatusOK, gin.H{
				"user": u.Username,
				"pwd":  u.Password,
			})
		}
	})
	r.Run(":9090")
}

調試:

運行結果使用postman模擬,分別是:

對querystring進行參數綁定結果:

對form表單進行參數綁定結果:

對json進行參數綁定結果:

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

相關文章

  • golang?pprof監(jiān)控memory?block?mutex使用指南

    golang?pprof監(jiān)控memory?block?mutex使用指南

    這篇文章主要為大家介紹了golang?pprof監(jiān)控memory?block?mutex使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • golang解析html網頁的方法

    golang解析html網頁的方法

    今天小編就為大家分享一篇golang解析html網頁的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Go如何在HTTP請求中操作cookie教程詳解

    Go如何在HTTP請求中操作cookie教程詳解

    這篇文章主要為大家介紹了Go如何在HTTP請求中操作cookie教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 深入理解Go Gin框架中間件的實現(xiàn)原理

    深入理解Go Gin框架中間件的實現(xiàn)原理

    在Go Gin框架中,中間件是一種在請求處理過程中插入的功能模塊,它可以用于處理請求的前置和后置邏輯,例如認證、日志記錄、錯誤處理等,本文將給大家介紹一下Go Gin框架中間件的實現(xiàn)原理,需要的朋友可以參考下
    2023-09-09
  • golang替換無法顯示的特殊字符(\u0000,?\000,?^@)

    golang替換無法顯示的特殊字符(\u0000,?\000,?^@)

    這篇文章主要介紹了golang替換無法顯示的特殊字符,包括的字符有\(zhòng)u0000,?\000,?^@等,下文詳細資料,需要的小伙伴可以參考一下
    2022-04-04
  • golang log4go的日志輸出優(yōu)化詳解

    golang log4go的日志輸出優(yōu)化詳解

    log4go源于google的一項log工程,但官方已經停止維護更新,下面這篇文章主要給大家介紹了關于golang log4go的日志輸出優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-12-12
  • 詳解Go語言中for循環(huán),break和continue的使用

    詳解Go語言中for循環(huán),break和continue的使用

    這篇文章主要通過一些示例為大家介紹一下Go語言中for循環(huán)、break和continue的基本語法以及使用,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-06-06
  • 在go語言中安裝與使用protobuf的方法詳解

    在go語言中安裝與使用protobuf的方法詳解

    protobuf以前只支持C++, Python和Java等語言, Go語言出來后, 作為親兒子, 那有不支持的道理呢? 這篇文章主要給大家介紹了關于在go語言中使用protobuf的相關資料,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Golang小數操作指南之判斷小數點位數與四舍五入

    Golang小數操作指南之判斷小數點位數與四舍五入

    這篇文章主要給大家介紹了關于Golang小數操作指南之判斷小數點位數與四舍五入的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • go語言標準庫fmt包的一鍵入門

    go語言標準庫fmt包的一鍵入門

    這篇文章主要為大家介紹了go語言標準庫fmt包的一鍵入門使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08

最新評論