當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Context.Bind方法代碼示例

本文整理匯總了Golang中github.com/rking788/hotseats-api/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Bind方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.Bind方法的具體用法?Golang Context.Bind怎麽用?Golang Context.Bind使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在github.com/rking788/hotseats-api/Godeps/_workspace/src/github.com/gin-gonic/gin.Context的用法示例。


在下文中一共展示了Context.Bind方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: CreateEvent

// CreateEvent is responsible for reading and parsing the JSON
// string from the request body and persisting it ... somewhere.
func CreateEvent(c *gin.Context) {
	var evt model.Event

	fmt.Printf("Content-Type from request: %s\n", c.ContentType())
	err := c.Bind(&evt)
	if err == nil {
		fmt.Printf("Creating event: %v...\n", evt)

		// Store the new event in the DB
		dbConn, dbErr := db.GetDBConnection()
		if dbErr != nil {
			fmt.Printf("Found err: %s\n", dbErr.Error())
			c.JSON(http.StatusInternalServerError,
				map[string]string{"status": "Error cannot connect to DB!"})
			return
		}

		// Find the `sid` value that should be used when inserting the new event
		var outStadium model.Stadium
		dbConn.Table("stadiums").Where("name = ?", evt.Stadium.Name).First(&outStadium)

		fmt.Printf("Found sid=%d\n", outStadium.Sid)

		if outStadium.Sid == 0 {
			fmt.Println("Didn't find a stadium with that name!!")
			c.JSON(http.StatusBadRequest, map[string]string{"status": "Error no stadium with that name"})
			return
		}

		evt.Sid = outStadium.Sid
		dbConn.Create(&evt)

		c.JSON(http.StatusCreated, map[string]string{"status": "Success"})
	} else {
		errMsg := fmt.Sprintf("Error: %s", err.Error())
		fmt.Println(errMsg)
		c.JSON(http.StatusBadRequest, map[string]string{"status": errMsg})
	}
}
開發者ID:Rking788,項目名稱:hotseats-api,代碼行數:41,代碼來源:handlers.go


注:本文中的github.com/rking788/hotseats-api/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Bind方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。