日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

shouldband綁定數據的方法詳解

作者:夸父追夢@ 更新時間: 2022-05-06 編程語言

?? ?//ShouldBind()強大的功能,它能夠基于請求自動提 取
?? ?//JSON、form 表單和 QueryString 類型的數據,并把值綁定到指定的結構體對象

//get ,post struct
func getpoststruct() {
	engine := gin.Default()
	//加載html模板  **--->代表目錄
	engine.LoadHTMLGlob("templates/**/*")

	//###########################################################################
	//###########################################################################

	//路由的編寫
	//ShouldBind()強大的功能,它能夠基于請求自動提 取
	//JSON、form 表單和 QueryString 類型的數據,并把值綁定到指定的結構體對象
	type Useinfo struct {
		Username string `form:"username" json:"user"`
		Password string `form:"password" json:"password"`
	}

	//Get 傳值綁定到結構體
	//http://127.0.0.1:9999/ss?username=tom&password=123456  ,調用方式
	engine.GET("/ss", func(c *gin.Context) {
		var userinfo Useinfo
		if err := c.ShouldBind(&userinfo); err == nil {
			c.JSON(http.StatusOK, userinfo)
		} else {
			c.JSON(http.StatusBadRequest, gin.H{
				"error": err.Error(),
			})
		}

	})

	//##############################
	//post傳值綁定到結構體,用postman進行測試
	engine.POST("/ps", func(c *gin.Context) {
		var userinfopost Useinfo
		if err := c.ShouldBind(&userinfopost); err == nil {
			c.JSON(http.StatusOK, userinfopost)

		} else {
			c.JSON(http.StatusBadRequest, gin.H{
				"err": err.Error(),
			})
		}

	})
	//###########################################################################
	//###########################################################################
	//啟動服務
	engine.Run(":9999")

}

?

主函數調用:

func main() {
	//fmt.Println("test")

	//get post同時進行的測試
	//routelab1()

	getpoststruct()
}

?啟動:

用postman進行測試:

?

原文鏈接:https://blog.csdn.net/wtt234/article/details/124446272

欄目分類
最近更新