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-urlencoded
或from-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...