1. 程式人生 > 實用技巧 >gin操作session

gin操作session

匯入包: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") }

正在整理筆記,如有雷同,請告知,我必添上!