Clojure / Ring:添加会话密钥时响应映射为零

问题描述

我想在登录时更新 /callback 上的会话密钥。这是处理程序:

(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“响应映射为零”响应。

在这里做错了什么吗?

顺便说一下,我仍然可以通过执行以下操作来更新 /logout 路由上的会话映射(没有错误):

(defn logout [{session :session}]
  (-> (resp/redirect "/")
      (assoc :session {})))

这就是同时调用 callbacklogout内容

(defroutes main-routes
  (GET "/" [] index)
  (GET "/login" [] login)
  (GET "/callback" [] callback)
  (GET "/logout" [] logout))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)