Clojure/Ring:添加会话密钥时响应映射为零
我想在登录时更新/回调上的会话密钥。下面是处理程序:Clojure/Ring:添加会话密钥时响应映射为零,clojure,ring,Clojure,Ring,我想在登录时更新/回调上的会话密钥。下面是处理程序: (defn callback [{session :session :as request}] (let [id (:id (get-current-users-profile)) updated-session (assoc session :identity id)] {:status 200 :headers {"Content-Type" "text/html&quo
(defn callback [{session :session :as request}]
(let [id (:id (get-current-users-profile))
updated-session (assoc session :identity id)]
{:status 200
:headers {"Content-Type" "text/html"}
:body (loading-page)
:session updated-session}))
只要会话键值对出现在响应映射中,我就会得到一个500“response map is nil”响应
我在这里做错什么了吗
顺便说一下,我仍然可以通过执行以下操作更新我的/注销路由上的会话映射(没有错误):
(defn logout [{session :session}]
(-> (resp/redirect "/")
(assoc :session {})))
下面是调用回调
和注销
:
(defroutes main-routes
(GET "/" [] index)
(GET "/login" [] login)
(GET "/callback" [] callback)
(GET "/logout" [] logout))
信息不足,无法进行诊断。
回调
函数在隔离状态下看起来很好,但是您如何调用它们呢?我刚刚在原始帖子中添加了更多信息。我觉得很好<代码>回调显然永远不会返回零映射。接下来,您可以尝试添加一些日志,以确保调用了正确的函数,或者查看stacktrace中是否有任何有趣的内容(唉,可能没有)。