zoukankan      html  css  js  c++  java
  • 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")
    }

     正在整理笔记,如有雷同,请告知,我必添上!

  • 相关阅读:
    好玩的SQL
    Oracle常用函数
    树控件DeleteAllItems之前先SelectItem(NULL)
    MFC控件位置调整
    C++中一个0xC0000005访问冲突问题
    为MFC按钮添加各种图片
    LVN_ITEMCHANGED(OnItemchanged)通知响应多次的问题
    android 里边的mk文件的解析
    定义属于自己的标题栏
    block 影响代码执行由上往下执行顺序 从而影响功能的解决
  • 原文地址:https://www.cnblogs.com/qzhc/p/13454583.html
Copyright © 2011-2022 走看看