1
我希望不同的处理程序在会话中设置不同的键而不会相互影响。我从this wiki article开始工作,建议使用assoc
。我想我可以使用assoc-in
来更新会话中的路径。为什么我的Ring会话被重置?
(defn handler-one
[request]
(prn "Session before one" (:session request))
(-> (response "ONE")
(content-type "text/plain")
(#(assoc-in % [:session :key-one] "one"))))
(defn handler-two
[request]
(prn "Session before two" (:session request))
(-> (response "TWO")
(content-type "text/plain")
(#(assoc-in % [:session :key-two] "two"))))
如果我把handler-one
反复它打印Session before one {:key-one "one"}
和同样handler-two
打印前一交易日值。
通过使用assoc-in
设置会话密钥我期望设置两个密钥,即{:key-one "one" :key-two "two"}
。但看起来整个会话字典已被替换。
我做错了吗?