gin操作session示例

Python/Go 林涛 6507℃ 0评论

go官方没有提供session的标准库,但是我们使用gin的时候回方便很多,下面记录一下gin下使用session的示例。

 

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”)
}

 

 

 

 

如需转载请注明: 转载自26点的博客

本文链接地址: gin操作session示例

转载请注明:26点的博客 » gin操作session示例

喜欢 (0)
发表我的评论
取消评论

表情