在golang中设置map、struct到session(gin gonic框架)

Vut*_*tuz 4 session dictionary go go-gin

我正在使用 gin gonic 构建一个 Web 应用程序。我使用https://github.com/gin-gonic/contrib/tree/master/sessions来处理会话。例如,我为会话设置一个整数值:

function Test(c *gin.Context){
  session:= sessions.Default(c)
  session.Set("mysession",123)
  session.Save()
}
Run Code Online (Sandbox Code Playgroud)

在另一个控制器中,我可以通过 获得此会话session.Get("mysession")

但如果我设置地图或结构。我只能在同一个控制器中获取会话。这里出了什么问题?

dav*_*ave 6

您可能忘记注册它,当您的应用程序启动时,您需要具有以下内容:

package main

import (
    "encoding/gob"
    "path/to/yourpackage"

func init() {
    gob.Register(&yourpackage.YourStruct{})
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里查看http://www.gorillatoolkit.org/pkg/sessions了解更多信息(gin-gonic 在幕后使用 gorilla 会话)