gin框架中设置了session无法取到session
gin框架中设置了session无法取到
如代码所示
1,浏览器访问http://127.0.0.1:4000/DoSet
Doset
方法设置了session,此时使用goland发现context 中的keys 是存了这个session_01的
此时发现context中Keys中没有存的session_01
一开始使用的是postman测试,以为是调用DoSet
方法的时候返回的cookie没有在调用DoGet
携带上去,于是用浏览器测试发现不好使,后面以为是分配的路由导致不同的组访问不到,结果发现也不是.中间使用了很多方法都不管用
解决办法:
修改代码
sessions包属于 "github.com/gin-gonic/contrib/sessions"
然后就能够正常的使用session了
package routers
import (
ig "wahaha/module/gin"
ggin "github.com/gin-gonic/gin"
"github.com/gin-gonic/contrib/sessions"
"fmt"
)
func GinRouter() {
ig.GinEngine.GET("/DoSet", func(context *ggin.Context) {
session := sessions.Default(context)
session.Set("session_01", "hahaha")
session.Save()
})
ig.GinEngine.GET("/DoGet", func(context *ggin.Context) {
session := sessions.Default(context)
value := session.Get("session_01")
fmt.Println(value)
})
}
参考https://go-search.org/view?id=github.com%2Fgin-gonic%2Fcontrib%2Fsessions