我正在使用朋友和friend-redis-token,其中会话以redis形式存储在我的compojure应用程序中。
对于像...这样的路线。
(POST "/service/logout" {headers :headers}
(session/invalidate-session
(headers "x-auth-token")))
一切正常!
只要我使用friend / authenticated包装处理程序。 我收到了错误
:WARN:oejs.AbstractHttpConnection:/service/logout
java.lang.Exception: Unrecognized body: ...
我正在使用以下中间件:
(jsonware/wrap-json-body)
(jsonware/wrap-json-params)
(jsonware/wrap-json-response)
将身体中的所有内容转换为JSON,这可能与朋友发生冲突吗?
答案 0 :(得分:1)
我认为问题可能在于session/invalidate-session
的返回值。所以尝试这样的事情:
(POST "/service/logout" {headers :headers}
(do (session/invalidate-session
(headers "x-auth-token"))
""))
Compojure试图巧妙地使用路由的返回值做正确的事情,这通常会导致这样的问题。