gin操作session
阿新 • • 發佈:2020-08-07
匯入包:go get github.com/gin-contrib/sessions
package main import ( // 匯入session包 "github.com/gin-contrib/sessions" // 匯入session儲存引擎 "github.com/gin-contrib/sessions/cookie" // 匯入gin框架包 "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 建立基於cookie的儲存引擎,secret11111 引數是用於加密的金鑰store := cookie.NewStore([]byte("secret11111")) // 設定session中介軟體,引數mysession,指的是session的名字,也是cookie的名字 // store是前面建立的儲存引擎,我們可以替換成其他儲存引擎 r.Use(sessions.Sessions("mysession", store)) r.GET("/hello", func(c *gin.Context) { // 初始化session物件 session := sessions.Default(c)// 通過session.Get讀取session值 // session是鍵值對格式資料,因此需要通過key查詢資料 if session.Get("hello") != "world" { // 設定session資料 session.Set("hello", "world") // 刪除session資料 //session.Delete("hello") //清空session //session.Clear()// 儲存session資料 //session.Save() // 刪除整個session // session.Clear() } //轉發到另一個url c.Request.URL.Path = "/hi" r.HandleContext(c) }) r.GET("/hi", func(context *gin.Context) { // 初始化session物件 session := sessions.Default(context) context.JSON(http.StatusOK,gin.H{ "session":session.Get("hello"), }) }) r.Run(":8000") }
正在整理筆記,如有雷同,請告知,我必添上!