私はlib github.com/ipfans/echo-sessionを使用しています。私はこの私のコードセット配列の構造体にアレイ構造体をゴランのセッションに設定する
をセッションを保存することができます
保存セッションは、セッション
session := session.Default(c)
fmt.Println(session.Get("test"))
から入手コンソール結果表示空
私はlib github.com/ipfans/echo-sessionを使用しています。私はこの私のコードセット配列の構造体にアレイ構造体をゴランのセッションに設定する
をセッションを保存することができます
保存セッションは、セッション
session := session.Default(c)
fmt.Println(session.Get("test"))
から入手コンソール結果表示空
ライブラリに
type StaffInfor struct {
Login_id string
Family_name_cc string
First_name_cc string
Family_name_kana string
First_name_kana string
Role_id int
Password string
Message_invalid []string
}
~~~
session := session.Default(c)
session.Set("test", listStaffInfor)// listStaffInfor is array struct StaffInfor
session.Save()
github.com/ipfans/echo-session
です内部でgithub.com/gorilla/sessions
を使用します。
ゴリラセッションオブジェクトは、encoding/gob
パッケージを使用してシリアル化されています。したがって、セッション内に複雑なデータ型を格納するには、struct
を登録する必要があります。
type StaffInfor struct {
Login_id string
Family_name_cc string
First_name_cc string
Family_name_kana string
First_name_kana string
Role_id int
Password string
Message_invalid []string
}
type ListStaffInfor []StaffInfor
func init() {
gob.Register(&StaffInfor{})
gob.Register(&ListStaffInfor{})
}
注:クッキーベースのセッションを使用している場合、それはあなたがクッキーのサイズ制限4キロバイトを打つ可能性があるため、セッションに大きなオブジェクトを格納することをお勧めされていません。
セッションが正しく保存されていない可能性がありますか?この理論を確認する値を設定し、その直後に値を取得します。 – jeevatkm
"すぐにそれを取得する" - > OK、正しく保存されたセッション – cuong
"セッションが正しく保存されていない可能性がありますか?"あなたの 'session.Save()'呼び出しがうまくいかないことを意味します。内部で使用しているライブラリは、ゴリラセッションライブラリを使用しています。したがって、セッションオブジェクトに構造体を格納するためのゴリラセッションのドキュメンテーションをチェックする方が良いでしょう。 – jeevatkm