golang gin框架獲取引數

2021-10-04 11:59:29 字數 2183 閱讀 8021

get請求引數通過url傳遞

url引數可以通過defaultquery()query()方法獲取

defaultquery()若引數不存在,返回預設值,query()若引數不存在,返回空串

user_id := com.

strto

(ctx.

query

("user_id"))

.mustint64()

page := com.

strto

(ctx.

defaultquery

("page"

,"1"))

.mustint

()

post引數放在request body中

表單傳輸為post請求,http常見的傳輸格式為四種:

multipart/form-data

表單引數可以通過postform()方法獲取,該方法預設解析的是x-www-form-urlencodedfrom-data格式的引數

// 獲取post介面引數

func

getpostparams

(ctx *gin.context)

(map

[string

]inte***ce

,error))

err :=

getrequestbody

(ctx,

¶ms)

return params, err

}使用場景:

//列印獲取到的引數

type updatepassword struct

func

updateuserpassword

(ctx *gin.context)

err :=

getrequestbody

(ctx,

&updatepassword)

//呼叫了前面**塊中封裝的函式,自己封裝的,不是庫里的

if err !=

nil fmt.

println

(updatepassword.userid )

fmt.

println

(updatepassword.linkbookid )

fmt.

println

(updatepassword.oldpassword )

fmt.

println

(updatepassword.newpassword )

}

header 是鍵值對,處理方便,token一般都存header

簡單的token,session id,cookie id等

// 通過上下文獲取header中指定key的內容

func

getheaderbyname

(ctx *gin.context, key string

)string

將Golang Gin框架專案發布到Docker

首先在本地編譯專案 1.在 專案目錄下 這樣在main.go同目錄下會生產main二進位制檔案 2.dockerfile 檔案配置 from scratch maintainer lyh workdir copy expose 6080 cmd main 注意 上面的dockerfile裡的埠最好和...

Gin框架body引數獲取

需求 記錄所有請求的json資料 body,ioutil.readall c.request.body if body nil 此方法即可列印所有請求的body內容,但是在對應的處理器上就取不到資料 解決辦法 data,err c.getrawdata if err nil fmt.printf d...

解決golang gin框架跨域及註解的問題

在golang的路上緩慢前進 gin框架 跨域問題的解說與方法 路由初始化 var engine gin.default func main 跨域 func cors gin.handlerfunc headers程式設計客棧tr strings.join headerkeys,if headers...