go的gin框架從請求中獲取引數的方法

2021-09-08 20:19:18 字數 1382 閱讀 6536

go語言的gin框架go裡面比較好的乙個web框架, github的start數超過了18000.可見此框架的可信度

假如有這麼乙個請求:

form表單引數:  name=manu&message=this_is_great

gin的實現:

id := c.query("id") //

查詢請求url後面的引數

page := c.defaultquery("page", "0") //

查詢請求url後面的引數,如果沒有填寫預設值

name := c.postform("name") //

從表單中查詢引數

/////

//post和put主體引數優先於url查詢字串值。

name := c.request.formvalue("name")

//返回post並放置body引數,url查詢引數被忽略

name := c.request.postformvalue("name")

//從表單中查詢引數,如果沒有填寫預設值

message := c.defaultpostform("message", "aa")

假如gin定義的路由路徑為:

router.post("/post/:uuid", func(c *gin.context)

則獲取uuid的值方法為

uuid := c.param("uuid") //

取得url中引數

其他:

s, _ := c.get("current_manager") //

從使用者上下文讀取值

varu user

//從http.request中讀取值到user結構體中,手動確定繫結型別binding.form

err1 := c.bindwith(&u, binding.form)

//從http.request中讀取值到user結構體中,根據請求方法型別和請求內容格式型別自動確定繫結型別

err2 := c.bind(&u)

//從session中讀取值

//使用者上下文和session生命週期不同,每一次請求會生成乙個對應的上下文,一次http請求結束,該次請求的上下文結束,一般來說session(會話)會留存一段時間

//session(會話)中一般儲存使用者登入狀態等資訊,context(上下文)主要用於在一次http請求中,在中介軟體(流)中進行資訊傳遞

user := sessions.default(c).get("user")

未完, 待續....

go的gin框架從請求中獲取引數的方法

go語言的gin框架go裡面比較好的乙個web框架,github的start數超過了18000.可見此框架的可信度 假如有這麼乙個請求 form表單引數 name manu message this is great gin的實現 id c.query id 查詢請求url後面的引數 page c....

go開源web框架gin的簡單使用

部落格結構體 字段首字母必須大寫,否則gin不能獲取到值返回給前端 json name 配置轉json時字段的名字 type blog struct var bloglist blog func initbloglist bloglist bloglist,blog bloglist bloglis...

go開源web框架gin的簡單使用

部落格結構體 字段首字母必須大寫,否則gin不能獲取到值返回給前端 json name 配置轉json時字段的名字 type blog struct var bloglist blog func initbloglist func main get引數查詢指定id的部落格,curl localhos...